我正在寻找 Java Class String Builder 并且想知道它为什么要添加 额外的 16 个空元素尾随以下构造函数的字符串
- StringBuilder(CharSequence cs):构造一个字符串生成器,其中包含与指定 CharSequence 相同的字符,在 CharSequence 后面加上额外的 16 个空元素。
- String Builder(String s):创建一个字符串构建器,其值由指定的字符串初始化,在字符串后加上额外的 16 个空元素。
为什么StringBuilder可以随时更改其容量,为什么还需要额外的16个空元素 需要吗?
提前致谢! :)
最佳答案
16 个字符是在任何 StringBuilder
构造函数中分配的默认可用空间,除了您自己提供容量的构造函数(除了您已经提到的构造函数之外,没有参数的构造函数也分配 16 个字符初始容量)。
它允许您将一些字符附加到 StringBuilder 而无需立即增加容量。这种行为的原因很可能是性能。
关于Java StringBuilder 类,为什么多了 16 个空元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25675624/