StringBuffer类
- StringBuffer带缓冲区的字符串,字符串可以改变,即使值发生改变,始终都只创建了一个对象
- char[] value; 默认16 装满16个后,数组扩容(数组长度*2+2),只需改变数组地址即可,不需要重新创建新String Buffer对象
- StringBuffer中的方法都由synchronized关键字修饰一次只允许一个请求进入操作 在多用户访问下是安全的,而StringBuilder中没有String的值不可改变,一旦改变就会创建新的对象
- StringBuffer,StringBulider值是可以改变的,不会创建新的对象,改变的只是底层数组。
- append()
StringBuffer s=new StringBuffer();
s.append("aac");//具有添加功能,在字符串末尾,且地址不会随扩容超载而改变
2.insert(start: ,char:“”)
s.insert(2,3);//在指定下标处插入
3.deleteCharAt(int index)
s.deleteCharAt(4);//删除指定下标
4.delete(int start,int end)
s.delete(1,4);//删除指定下标范围的内容(包含开始位置,不包含结束位置)
5.replace(start: ,end: ,str:“”)
s.replace(1,3,"hhhhhhh" );//在指定下标范围内替换
6.reverse()
s.reverse();//反转
7.substring(start:)
s1.substring(1);//从指定位置开始截取,返回一个字符串副本