求救关于java 中capacity()方法的一个问题

2024-12-13 04:05:16
推荐回答(2个)
回答1:

capacity()返回的是字符串缓冲区的容量

StringBuffer( ); /*分配16个字符的缓冲区*/
StringBuffer( int len ); /*分配len个字符的缓冲区*/
StringBuffer( String s ); /*除了按照s的大小分配空间外,再分配16个 字符的缓冲区*/

你的StringBuffer是用字符构造的,"abc"的长度是3另外再分配16个字符,所以一共是19。

回答2:

如果StringBuffer sb=new StringBuffer();是这样的话
Capacity=16
如果StringBuffer sb=new StringBuffer(“abc”);是这样的话
Capacity=16+3=19