我有一个与使用StringBuilder相关的性能问题。
在一个非常长的循环中,我正在操作一个StringBuilder并像这样将其传递给另一个方法:
StringBuilder sb = new StringBuilder();
for (int i = 0; i < veryLargeNumber; i++) {
// manipulate sb
}
someOtherMethod(sb.toString());
for (loop condition) {
StringBuilder sb = new StringBuilder();
sb.append("some string");
. . .
sb.append(anotherString);
. . .
passToMethod(sb.toString());
}
在每个循环周期中实例化StringBuilder
是一个好的解决方案吗?或者像以下这样调用delete更好吗?
StringBuilder sb = new StringBuilder();
for (loop condition) {
sb.delete(0, sb.length);
sb.append("some string");
. . .
sb.append(anotherString);
. . .
passToMethod(sb.toString());
}