您的位置:首页 > Web前端

StringBuffer的capacity()方法

2016-06-23 22:37 218 查看
           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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  stringbuffer