StringBuffer类
一、字符串的不变性:
- 一个String对象的长度是固定的,不能改变它的内容,或者是附加新的字符到String对象中。
- 您也许会使用+来串联字符串以达到附加新字符或字符串的目的,但+会产生一个新的String对象。
- 如果程序对这种附加字符串的需求很频繁,系统会频繁在内存中创建String对象,造成性能下降。所以并不建议使用+来进行频繁的字符串串联。应该使用java.lang.StringBuffer类。
二、StringBuffer和StringBuilder
- StringBuffer/StringBuilder: 字符串, 方法都是一样
- StringBuffer 线程安全, 效率低
- StringBuilder: 线程不安全, 效率高
- 可变的字符串, 对字符串经常进行修改, 推荐使用StringBuffer
三、StringBuffer 的方法
1、 把String类型转换为StringBuffer
String str="abc";
StringBuffer sb=new StringBuffer(str);
2、 追加: 往字符串末尾添加 append(任意数据类型),类似于String的+操作
append(boolean b)
3、 删除:
delete(int static,int end):(开始位置,结束位置) 从开始位置(包括)删除到结束位置(不包括)
deleteCharAt(int index) :删除指定位置上的字符
4、修改
insert(int offset,int i) :插入的位置,插入的内容
setCharAt(int index,char ch):把开始位置到结束位置(不包括)的内容修改为str
replace(int start,int end,String str)
5、其他操作: 反转
reverse()
6、把StringBuffer转换为String
toString()