StringBuffer
public final class StringBuffer
extends Object
implements Serializable, CharSequence
线程安全,可变的字符序列。
字符串缓冲区就像一个String ,但可以修改。
字符串缓冲区可以安全地被多个线程使用
StringBuffer的主要StringBuffer是append和insert方法,它们被重载以便接受任何类型的数据。 每个都有效地将给定的数据转换为字符串,然后将该字符串的字符附加或插入到字符串缓冲区。 append方法总是在缓冲区的末尾添加这些字符; insert方法将insert添加到指定点。
从版本JDK 5开始,这个类别已经被一个等级类补充了,这个类被设计为使用一个线程StringBuilder , StringBuilder应该使用StringBuilder类,因为它支持所有相同的操作,但它更快,因为它不执行同步。
StringBuffer:线程安全,修改的,性能优于String,String不可修改
public class StringBuffer_Test8 {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
long start1 = System.currentTimeMillis();//获取当前系统毫秒数
for(int i=0; i<10000; i++) {
sb.append("a");
}
long end1 = System.currentTimeMillis();
System.out.println("StringBuffer所需时间:"+(end1-start1));
String str ="";
long start2 = System.currentTimeMillis();//获取当前系统毫秒数
for(int i=0; i<10000; i++) {
str+="a";
}
long end2 = System.currentTimeMillis();
System.out.println("String所需时间:"+(end2-start2));
}
}
//输出
StringBuffer所需时间:16
String所需时间:47