在Java中,通常最好使用StringBuilder
来进行字符串连接。情况总是这样吗?
我的意思是:创建一个StringBuilder
对象,调用append()
方法并最终调用toString()
的开销是否已经比为两个字符串使用+
操作符连接现有字符串的开销更小,还是仅适用于多个(超过两个)字符串?
如果有这样一个阈值,它取决于什么(也许是字符串长度,但以哪种方式)?
最后,你是否愿意牺牲+
串接的可读性和简便性来换取StringBuilder
在较小情况下的性能,比如两个、三个或四个字符串?
在过时的Java优化技巧和爪哇都市神话中,显式地使用StringBuilder
进行常规连接被认为是过时的。