这是我的代码:
public class Stringclass
{
public static void main(String args[])
{
StringBuilder s=new StringBuilder();
s.append("v g f j v n x jc kn vd df jdf jkd kfd kfk dfkd lkd fmk dkkdfd kfdkfn kdfd end");
System.out.println(s);
}
}
,输出为
v g f j v n x jc kn vd df jdf jkd kfd kfk dfkd lkd fmk dkkdfd kfdkfn kdfd end
根据[Java docs](http://docs.oracle.com/javase/tutorial/java/data/buffers.html)字符串构建器只能存储16个空字符,所以我怎样才能将所有字符作为输出。
如果我写这段代码,那么输出也一样:
public class Stringclass
{
public static void main(String args[])
{
StringBuilder s=new StringBuilder("v g f j v n x jc kn vd df jdf jkd kfd kfk dfkd lkd fmk dkkdfd kfdkfn kdfd end");
System.out.println(s);
}
}
答案 0 :(得分:6)
你误读了那个。文档说明了最初的容量。通过“空格”,您应该阅读“可以放置角色的空单元格”。
存储字符的基础数组具有给定的初始大小(容量),默认值为16,并在需要时自动增长。
答案 1 :(得分:2)
了解Doc
中的行capacity()方法返回的容量始终大于或等于长度(通常大于),并将根据需要自动扩展以适应字符串构建器的添加。
答案 2 :(得分:1)
根据您链接的文件:
许多操作(例如,
append()
,insert()
或setLength()
)可以增加字符串构建器中字符序列的长度,以便生成{{1} }将大于当前length()
。发生这种情况时,容量会自动增加。