StringBuilder(int capacity)构造函数中的capacity paremeter

tul*_*ulu -1 java

是否有人可以确认是什么StringBuilder的构造函数中的容量参数的单位:public StringBuilder(int capacity)?那是多少字节或字符数(2*字节)?Javadoc不提供此详细信息

ajb*_*ajb 5

从以下来源AbstractStringBuilder:

AbstractStringBuilder(int capacity) {
    value = new char[capacity];
}
Run Code Online (Sandbox Code Playgroud)

所以它是16位char元素的缓冲区.

javadoc在顶部的描述中说:

只要字符串生成器中包含的字符序列的长度不超过容量,就不必分配新的内部缓冲区.

因此,javadoc确实暗示了容量的含义,即length字符序列的含义,它很好地定义(并且将以字符为单位),除非人们对代码点0x10000及以上的Unicode字符是否算作一个字符或作为别的东西.无论如何,消息来源说清楚了.