从jdk 5开始,Java就对String字符串的+操作进行了优化,该操作编译成字节码文件后会被优化为StringBuilder的append操作。但是,我们不能一味地把String的+ 操作等同于append操作。
可以看这篇文章的对反编译字节码文件的分析:
jdk不同版本对String拼接的优化分析
这里只做总结:
字符串拼接从jdk5开始就已经完成了优化,并且没有进行新的优化。 循环内String+常量的话会每次new一个StringBuilder,再调用append方法。 循环外字符串拼接可以直接使用String的+操作,没有必要通过StringBuilder进行append. 有循环体的话,好的做法是在循环外声明StringBuilder对象,在循环内进行手动append。不论循环多少层都只有一个StringBuilder对象。





评论
登录后即可评论
分享你的想法,与作者互动
暂无评论