Java StringBuilder 类,为什么多了 16 个空元素?

标签 java stringbuilder

我正在寻找 Java Class String Builder 并且想知道它为什么要添加 额外的 16 个空元素尾随以下构造函数的字符串

  1. StringBuilder(CharSequence cs):构造一个字符串生成器,其中包含与指定 CharSequence 相同的字符,在 CharSequence 后面加上额外的 16 个空元素。
  2. String Builder(String s):创建一个字符串构建器,其值由指定的字符串初始化,在字符串后加上额外的 16 个空元素。

为什么StringBuilder可以随时更改其容量,为什么还需要额外的16个空元素 需要吗?

提前致谢! :)

最佳答案

16 个字符是在任何 StringBuilder 构造函数中分配的默认可用空间,除了您自己提供容量的构造函数(除了您已经提到的构造函数之外,没有参数的构造函数也分配 16 个字符初始容量)。

它允许您将一些字符附加到 StringBuilder 而无需立即增加容量。这种行为的原因很可能是性能。

关于Java StringBuilder 类,为什么多了 16 个空元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25675624/

相关文章:

Java,将 JSON 数组存储到类并从其他类调用它

c# - StringBuilder 类是如何实现的?每次我们附加时它是否在内部创建新的字符串对象?

java - 用正则表达式中的路径递归替换正则表达式查找

java - 由于多线程应用程序中的 AtomicXXX 变量,volatile 关键字是否失去了相关性?

java - 线程 "main"java.lang.NoClassDefFoundError : org/slf4j/ILoggerFactory 中的雅虎 BOSS 异常

java - 用于转换 HTML 的安全 API (Java)

java - Apache Shiro 是否支持 bCrypt?

java - 接受一个句子并仅打印那些具有素数长度的反向单词

java - 使用 StringBuilder java 在消息中显示可点击的 URL

java - equals() 方法不起作用