根据java文档,我有这样的想法:
StringBuilder(int length)在java中创建一个空字符串生成器,其容量为长度。
我尝试了下面的代码:
StringBuilder sb = new StringBuilder(9);
但我可以附加超过9的长度。
sb.append("123456789123456789123456789123456789123456789123456789");
指定这个长度的意义是什么?
发布于 2017-11-01 10:20:20
当您重复使用StringBuilder时,每次需要容纳较长的字符串时,它都会重新分配缓冲区。如果您知道目标字符串的长度是一定的,您可以通过告诉StringBuilder字符串的长度来保存重新分配。
这将是初始分配的长度;在此限制下追加不会导致重新分配。然而,StringBuilder不会有一个硬限制:允许超出初始大小。
发布于 2017-11-01 10:18:40
在构造函数中传递的值是StringBuilder的初始容量。它不等于它正在构建的字符串的长度。
https://stackoverflow.com/questions/47052480
复制相似问题