通常认为,在Java中使用StringBuilder
作为字符串连接更可取.一直都是这样吗?
我的意思是:创建一个StringBuilder
对象,调用append()
方法,最后调用toString()
,然后将现有字符串与+
运算符连接起来,以获得两个字符串,这样的开销已经更小了吗?还是只建议多(两个以上)字符串?
如果有这样一个阈值,它取决于什么(可能是字符串长度,但以何种方式)?
最后,你会用+
串联的可读性和简洁性换取StringBuilder
在较小的情况下的性能,比如两个、三个或四个字符串吗?
在obsolete Java optimization tips和Java urban myths中提到将StringBuilder
显式用于规则级联是过时的.