Java StringBuffer与StringBuilder类

Java StringBuffer与StringBuilder类

开发工具与关键技术: My Eclipse 10, jdk¬7 Update 80
作者:邓高发
撰写时间:2019年4月23日
当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类。与String类不同的是StringBuffer与StrBuilder类的对象能够被重写或拼接许多次,并且不会像String类的对象一样产生新的对象。 StrBuilder在Java1.5中被提出,StrBuilder与StringBuffer之间最大的不同点就是
StrBuilder是线程不安全的,运行效率上StrBuilder > StringBuffer > String,比较常用的为StrBuilder的类,在考虑安全优先的情况下则必须使用StringBuffer。
常用的构造函数有:

  1. StrBuilder ():构造一个空的StrBuilder的字符序列,初始容量为16个字符
  2. StrBuilder (String str):构造一个含有str字符串的字符序列。
    示例代码如下:
    // StringBuilder(),通过to String()方法将StringBuilder型转为String型再进行判断是否为空
    StringBuilder builder1 = new StringBuilder();
    System.out.println(builder1.toString().equals(""));
    输出结果为:true。
    //StringBuilder(String str)
    StringBuilder builder2 = new StringBuilder(“World”);
    System.out.println(builder2.toString().equals(“World”));
    输出结果也为: true。
    StringBuilder类大部分方法与String类的方法一致,与String不同且常用的方法有如下几个:
    append(String str):向此字符序列的末尾处追加指定的字符串,如果追加的类型不为String类型,则将该值转换为String类型的表示形式追加。
    reverse():将此字符序列以反转的形式来取代此字符序列。
    insert(int start String str):向此字符序列的指定位置追加字符串,如果追加的类型不为String类型,则将该值转换为String类型的表示形式追加。
    delete(int start int end):根据其指定的索引位置移除此字符序列的子字符序列。
    capacity():获取此字符序列当前的容量。
    示例代码如下:
    //append
    boolean a = true;
    builder1.append(“Hello:”);
    builder1.append(a);
    System.out.println(builder1);
    //reverse
    System.out.println(“builder1反转后:”+builder1.reverse());
    builder2.insert(0," Hello,");
    builder2.insert(0,a);
    System.out.println(builder2);
    //delete
    builder2.delete(0, 4);
    System.out.println(builder2);
    //capacity
    System.out.println(“builder2当前容量:”+builder2.capacity());
    代码效果如下图:
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xj735162941/article/details/89608004