StringBuffer和StringBuilder扩容机制
StringBuffer与StringBuilder的append都是调用父类AbstractStringBuilder的appen方法。
而AbstractStringBuilder的append方法如下,其中有一个ensureCapacityInternal(count + len)方法。其中count+len是所需容量。
而ensureCapacityInternal(int minimumCapacity)方法是:如果目前数组长度小于所需长度,则调用newCapacity(minimumCapacity)计算数组所需的长度。
具体扩容机制是:尝试扩容为两倍加2,如果还小于所需容量,则直接将所需容量作为实际数组长度。如果大于所需容量,则可以作为实际数组长度。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Southblock'Blog!
