小编典典

何时在 Java 中使用 StringBuilder

all

在 Java中,通常最好使用StringBuilderfor 字符串连接。总是这样吗?

我的意思是:创建StringBuilder对象、调用append()方法和最后toString()已经更小然后将现有字符串与+两个字符串的运算符连接起来的开销,还是只建议用于更多(两个)字符串?

如果有这样的阈值,它取决于什么(可能是字符串长度,但以哪种方式)?

最后,您是否会用+连接的可读性和简洁性来换取StringBuilder较小情况下(如两个、三个或四个字符串)的性能?


阅读 84

收藏
2022-03-25

共1个答案

小编典典

如果你在循环中使用字符串连接,像这样,

String s = "";
for (int i = 0; i < 100; i++) {
    s += ", " + i;
}

那么你应该使用 a StringBuilder(not StringBuffer) 而不是 a String,因为它更快并且消耗更少的内存。

如果你有一个单一的声明,

String s = "1, " + "2, " + "3, " + "4, " ...;

那么你可以使用Strings,因为编译器会StringBuilder自动使用。

2022-03-25