线程安全的可变字符序列。类似于String,但是可以被修改。
在任何时候,它都包含一些特定的字符序列,但是序列的长度和内容可以通过某些方法调用来更改。
StringBuffer内部采用了可变字符数组的方式实现(JDK9中是采用字节数组)。 StringBuffer实现可变字符串长度的原理是数组的复制与删除。
StringBuffer不像String一样可以直接赋值,必须通过构造方法先创建对象。
其空参构造方法,是构造一个不带字符且初始容量为16个字符的字符串缓冲区。也可以调用其他有参构造在创建对象时指定初始容量。
常用方法
StringBuffer append(String str); //将指定的字符串追加到此字符序列。append方法有大量的重载,可追加多种类型的数据
StringBuffer delete(int start,int end);//删除此序列内索引范围为[start,end)中的字符
StringBuffer deleteCharAt(int index);//删除此序列内指定索引的字符
StringBuffer insert(int offset,String str);//将字符串插入到此字符序列指定索引上
StringBuffer replace(int start,int end,String str);//使用str替换此字符序列[start,end)内的所有字符
StringBuffer reverse();//将此字符序列反转
String toString();//返回此序列中数据的字符串表示形式