相同点:两个用法相同,由于string的不可更改性,为了方便字符串的修改,提供这两个类.直接打印本身。
不同点:
StringBulider:线程不安全
StringBuffer:线程安全的
- append()
调用append直接把参数拼接到原来的内存末尾
append能把字符串内容相加,相当于String 的+=,由于String的+=会产生新的String对象,如果在循环制使用,是比较低效
StringBuffer stringBuffer=new StringBuffer("hello");
for (int i = 0; i < 100; i++) {
stringBuffer.append(i);
}
System.out.println(stringBuffer.toString());
- reverse()
StringBuffer stringBuffer=new StringBuffer("hello");
stringBuffer.reverse();
//把StringBuffer转成String
System.out.println(stringBuffer.toString());
- delete(Begin,end)
StringBuffer stringBuffer=new StringBuffer("helloooo");
//把StringBuffer转成String
stringBuffer.delete(2,4);
System.out.println(stringBuffer.toString()); //heoooo
- insert
insert(int offset, 各种数据类型 b)
StringBuffer stringBuffer=new StringBuffer("helloooo");
stringBuffer.insert(2,"hello");
System.out.println(stringBuffer.toString());