我已经搜索了这个,但是我找不到为什么StringBuilder的ensureCapacity()方法不会通过加倍来延长旧容量,而是添加两个.
ensureCapacity()
因此,当默认容量16已满时,下一个加长值将为34,除非整个字符串长度不超过34.为什么不应该是32?
我最好的猜测是考虑一个空字符'\ u0000',但我不确定.谁能告诉我为什么?
java stringbuilder stringbuffer capacity
capacity ×1
java ×1
stringbuffer ×1
stringbuilder ×1