StringBuffer默认是16个字符空间,字符缓冲区长度可变,
append、insert方法在使用过程中可能会扩大缓冲区,扩大规律是(字符缓冲区大小+1)*2
package pck;
public class StringBufferTest {
public static void main(String[] args) {
StringBuffer sbf=new StringBuffer();
System.out.println(sbf.capacity()); //16个字符,默认缓冲区大小为16个字符
sbf.append("123456789");
System.out.println("字符为:"+sbf+"\t长度为:"+sbf.length()+"\t,缓冲区大小为:"+sbf.capacity()); //16个字符
sbf.append("123456789");
System.out.println("字符为:"+sbf+"\t长度为:"+sbf.length()+"\t,缓冲区大小为:"+sbf.capacity()); //34个字符
sbf.append("123456789");
System.out.println("字符为:"+sbf+"\t长度为:"+sbf.length()+"\t,缓冲区大小为:"+sbf.capacity()); //34个字符
System.out.println("----------------------------------------------");
sbf.insert(0,"abcd");
System.out.println("字符为:"+sbf+"\t长度为:"+sbf.length()+"\t,缓冲区大小为:"+sbf.capacity()); //34个字符
sbf.delete(0,9);
System.out.println("字符为:"+sbf+"\t长度为:"+sbf.length()+"\t,缓冲区大小为:"+sbf.capacity()); //34个字符
sbf.append("123456789");
System.out.println("字符为:"+sbf+"\t长度为:"+sbf.length()+"\t,缓冲区大小为:"+sbf.capacity()); //34个字符
}
}