我认为
StringBuilder#delete(start, end)通话仍然很昂贵,您应该这样做:
stringBuilder.setLength(0);
重置它。
更新: 查看完
源代码后StringBuilder
,似乎
setLength(int)完整保留了旧缓冲区,最好调用:
StringBuilder#trimToSize()在上述调用which之后
attempts to reduce storageused for the character sequence。
所以这样的事情会更有效:
stringBuilder.setLength(0); // set length of buffer to 0stringBuilder.trimToSize(); // trim the underlying buffer



