StringBuffer
StringBuffer是可变长的,这是和String的区别,如果代码中有比较多的字符串拼接,建议用StringBuffer效率好
StringBuffer初始大小是16个字符的数组,如果数组满了后,新的容量是原来容量的2倍+2
运行以下两段代码,比较String与StringBuffer的区别
String类
public class StringBufferDemo {
public static void main(String[] args) {
String str = "1";
int n = 0;
for (;;){
str+=str;
System.out.println(n++);
}
}
}
运行到27便停止报错
StringBuffer类
public class StringBufferDemo {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
int n = 0;
for (;;){
sb.append(sb);
System.out.println(n++);
}
}
}
运行到上百完仍不停止
通过上述两段代码的运行,我门可以更加清晰的理解StingBuffer的可变性