何时在java中使用StringBuilder

问题:

在Java中使用StringBuilder进行字符串连接是一般比较好的选择。总是这样吗?
我的意思是:创建一个StringBuilder对象的开销,调用append()方法和最后toString()已经较小了,然后将现有的字符串与两个字符串的+运算符连接起来,或者只适用于多(两个)字符串?
如果有这样的门槛,它是否取决于(也许是字符串长度,但是以哪种方式)?
最后,在较小的情况下,如两个,三个或四个字符串,您可以将StringBuilderStringBuilder表现的+级联的可读性和简洁性交易吗?
正式连接的StringBuilder的明确使用被提及为obsolete Java optimization tips以及Java urban myths已过时

回答:

如果在循环中使用String连接,这样的话,

String s = "";
for (int i = 0; i < 100; i++) {
    s += ", " + i;
}
&#91;/code&#93;
那么您应该使用<code>StringBuilder</code>(而不是<code>StringBuffer</code>)而不是<code>String</code>,因为它更快,消耗更少的内存。
如果你有一个单一的声明,

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

那么您可以使用String,因为编译器将自动使用StringBuilder

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: when to use StringBuilder in java

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

91 − 82 =