常用类04-StringBuffer类与StringBuilder类
StringBuffer类 与 StringBuilder类
String、StringBuffer、StringBuilder三者异同:
-
String:不可变的字符序列;底层结构使用char[]存储;效率最低
-
StringBuffer:可变的字符序列;线程安全,效率低;底层结构使用char[]存储
-
StringBuilder:可变的字符序列;jdk5.0新增,线程不安全,效率高;底层结构使用char[]存储
在开发过程中,建议使用StringBuffer(int capacity)或StringBuilder(int capacity)
StringBuffer类常用方法
-
StringBuffer append(xxx):
提供了很多的append()方法,用于进行字符串拼接
-
StringBuffer delete(int start,int end):
删除指定位置的内容
-
StringBuffer replace(int start,int end,String str):
把[start,end)位置替换为str
-
StringBuffer insert(int offset,xxx):
在指定位置插入xxx
-
StringBuffer reverse():
把当前字符序列逆转
StringBuffer s1 = new StringBuffer("abc");
s1.append(1);
System.out.println(s1);
//abc1
s1.delete(2,4);
System.out.println(s1);
//ab1
s1.replace(1,2,"Hello");
System.out.println(s1);
//aHello
s1.insert(2,false);
System.out.println(s1);
//aHfalseello
s1.reverse();
System.out.println(s1);
//olleeslafHa
-
其他方法

当append和insert时,如果原来value数组长度不够,可扩容