在 Java中,通常最好使用StringBuilderfor 字符串连接。总是这样吗?
StringBuilder
我的意思是:创建StringBuilder对象、调用append()方法和最后toString()已经更小然后将现有字符串与+两个字符串的运算符连接起来的开销,还是只建议用于更多(两个)字符串?
append()
toString()
+
如果有这样的阈值,它取决于什么(可能是字符串长度,但以哪种方式)?
最后,您是否会用+连接的可读性和简洁性来换取StringBuilder较小情况下(如两个、三个或四个字符串)的性能?
如果你在循环中使用字符串连接,像这样,
String s = ""; for (int i = 0; i < 100; i++) { s += ", " + i; }
那么你应该使用 a StringBuilder(not StringBuffer) 而不是 a String,因为它更快并且消耗更少的内存。
StringBuffer
String
如果你有一个单一的声明,
String s = "1, " + "2, " + "3, " + "4, " ...;
那么你可以使用Strings,因为编译器会StringBuilder自动使用。