Java8中使用"+"进行字符串拼接还是使用StringBuilder?

Java8中"+"拼接的时候编译后底层会使用StringBuilder,如果是非循环体和使用StringBuilder相差无几;如果是循环体,在用"+"进行字符串的拼接的时候,底层实际上每一次循环都在New一个新的StringBuilder,然后使用append()方法来把字符串拼接上,因此循环体内每次循环的时候New一个StringBuilder对象,导致创建多次对象,进而导致程序运行效率下降。
总结:
1、如果不是在循环体中进行字符串拼接的话,直接使用+就好啦。
2、如果在并发场景中进行字符串拼接的话,需要使用StringBuffer来代替StringBuilder。

原文地址:https://www.cnblogs.com/stsinghua/p/13254992.html