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 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
相关文章推荐
- 深入剖析java中String、StringBuffer、StringBuilder的区别
- JAVA中StringBuffer与String的区别解析
- js 效率组装字符串 StringBuffer
- Java之String、StringBuffer、StringBuilder的区别分析
- 浅谈java中String StringBuffer StringBuilder的区别
- 浅谈java中String与StringBuffer的不同
- 辨析Java中的String与StringBuffer及StringBuilder字符串类
- JavaScript实现Java中StringBuffer的方法
- Java中String、StringBuffer、StringBuilder的区别详解
- 详解Java中StringBuffer类常用方法
- Java中StringBuffer和StringBuilder区别
- Java中String、StringBuffer、StringBuilder的区别介绍
- 详解Java中字符串缓冲区StringBuffer类的使用
- java_String和StringBuffer区别分析
- 详细分析Java中String、StringBuffer、StringBuilder类的性能
- Java StringBuilder和StringBuffer源码分析
- Java那点事――StringBuffer与StringBuilder原理与区别
- 深入解析StringBuffer和StringBuilder的区别
- String、StringBuilder、StringBuffer的区别
- Java中String,StringBuffer,StringBuilder的区别