StringBuffer
存储
StringBuffer sb = new StringBuffer();
sb.append("abc").append(true).append(34);//可以连续添加,返回的是本类对象
System.out.println(sb.toString());//用法 :最终会通过toString方法变成字符串
插入
sb.insert(index,数据);//将数据插入到指定的index位置
删除
sb.delete(start,end);//删除缓冲区中的数据,包含start,不包含end。删除全部start=0,end=sb.length()
sb.deleteCharAt(2);//删除角标为2的字符
获取
char charAt(int index);
int indexOf(String str);
int lastIndexOf(String str);
int length();
String substring(int start,int end);//返回的是String类型,谨慎调用
修改
sb.replace(1,3,"abc");//将角标1到3(不含)替换成abc
sb.setCharAt(1,'A');//将角标位1替换成字符A,返回值是void,不能链式调用
反转
sb.reverse();
//还有一个方法
char[] chs = new char[4];
sb.getChars(1,4,chs,1);//将缓冲区中指定数据存储到指定字符数组中,原型 void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin);
StringBuilder的方法和StringBuffer的一样
StringBuffer和StringBuilder的区别:
Stringbuffer 线程同步。
StringBuilder 线程不同步。开发基本都用StringBuilder
StringBuilder在JDK1.5 版本之后才出现
升级三个因素:
- 提高效率
- 简化书写
- 提高安全性