StringBuffer str=new StringBuffer();
StringBuffer str1=new StringBuffer(3);
str.append("adad");
str1.append("ffcdaaa");
System.out.println(str.capacity()); //16
System.out.println(str1.capacity()); //8
str1.capacity()的结果是8,因为StringBuffer的capacity()构造方法默认创建16个字符的缓冲区,存放在内部数组,
当你调用默认构造函数,缓冲区是16个字节, 例:str.capacity(),当你的字节长度超过16,按照(初始大小+1)*2增加 so(3+1)*2
因为初始化是3个字节,当str1.append()追加了7个字节后,是(3+1)*2,如果再追加到9个字节时,由于已经超出(初始大小+1)*2的长度了,所以结果会变成9