在Java中,通常最好使用StringBuilder进行字符串连接。总是这样吗
我的意思是:创建一个StringBuilder对象,调用append()方法,最后调用toString()的开销是否已经小于将现有字符串与两个字符串的+操作符连接的开销,还是只建议多(多于两个)字符串
如果有这样一个阈值,它取决于什么(可能是字符串长度,但以何种方式)
最后,您会用+串联的可读性和简洁性来换取StringBuilder在较小的情况下(如两个、三个或四个字符串)的性能吗
在<a href=”中,明确使用StringBuilder进行常规连接被认为是过时的https://stackoverflow.com/questions/4019180/obsolete-java-optimization-tips“>过时的Java优化提示以及爪哇城市神话
如果在循环中使用字符串连接,类似这样的
字符串s=”“;
对于(int i=0;i<;100;i++){
s+=“,”+i;
}
然后应该使用StringBuilder(而不是StringBuffer)而不是String,因为它速度更快,占用的内存更少
如果你只有一句话
字符串s=“1”,“2”,“3”,“4”。。。;
然后可以使用Strings,因为编译器将自动使用StringBuilder