常用类专题——StringBuffer和StringBuilde

2021-05-25  本文已影响0人  攻城老狮

1 StringBuffer

1.1 StringBuffer相关特征

1.2 String和StringBuffer相互转换

public class StringBufferBaseMethod {
    public static void main(String[] args) {
        //String --> StringBuffer
        String name = "yorick";
        //1.构造函数传入String类型数据,返回StringBuffer类型数据
        StringBuffer sb1 = new StringBuffer(name);
        System.out.println(sb1);
        //2.使用append方法
        StringBuffer sb2 = new StringBuffer();
        sb2.append(name);
        System.out.println(sb2);

        //StringBuffer ---> String
        StringBuffer sb3 = new StringBuffer("hello world");
        //1.使用StringBuffer提供的toString方法
        String str1 = sb3.toString();
        System.out.println(str1);
        //2.使用String的构造方法
        String str2 = new String(sb3);
        System.out.println(str2);
    }
}

1.3 StringBuffer常见方法

public class StringBufferBaseMethod {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer("hello");
        //1.增
        sb.append(",");
        sb.append("world").append("!");
        System.out.println(sb);
        //2.删 [start,end)
        sb.delete(0,5);
        System.out.println(sb);
        //3.替换 [start,end)
        sb.replace(1,6,"yorick");
        System.out.println(sb);
        //4.查找子串第一次出现的索引,找不到返回-1
        int index = sb.indexOf("yorick");
        System.out.println(index);
        //5.插入
        sb.insert(0,"hello");
        System.out.println(sb);
        //6.长度
        System.out.println(sb.length());
    }
}

2 StringBuilder

2.1 StringBuilder相关特征

3 String、StringBuffer和StringBuilder比较

  1. StringBuilder和StringBuffer类似,均代表可变的字符序列,而且方法也一样
  2. String是不可变字符序列,效率低,但是复用率高
  3. StringBuffer是可变字符序列,效率较高,线程安全
  4. StringBuilder是可变字符序列,效率最高,线程不安全
上一篇 下一篇

猜你喜欢

热点阅读