1、StringBuffer:
a、 作用:用于大规模拼接字符串,相比于"+"而言节省方法区内存
b、 调用方法:StringBuffer s=new StringBuffer()
s.append("a");
s.append("b");
s.append("c");
System.out.println(s)//输出为"abc"
c、 注意:这里的StringBuffer类中的构造方法在一开始会初始化一个容量为16Byte的数组,如果在添加的时候数组满了会自动扩容,所以为了优化程序避免扩容,在一开始调用的时候要预估计数组的长度,避免数组扩容,也就节省了计算资源。优化为:
StringBuffer s=new StringBuffer(int capacity)
s.append("a");
s.append("b");
s.append("c");
System.out.println(s)//输出为"abc"
1、StringBuilder:
作用:也是字符串拼接,但是与StringBuffer有区别
调用方式:StringBuilder s=new StringBuilder(int capacity)
s.append("a");
s.append("b");
s.append("c");
System.out.println(s)//输出为"abc"
与StringBuffer的区别:StringBuffer()方法前面有synchronized修饰,而StringBuilder()方法前没有synchronize修饰,因此StringBuffer是线程安全的,而StringBuilder是非线程安全的。