java五种字符串拼接方式:
+
、
concat()
、
StringBuffer
、
StringBuilder
以及apache.commons中的
StringUtils.join()
的性能对比。
一、性能结论
基于JDK1.8,直接上结论:
1、非循环体内
StringBuilder
=
+
>
StringBuffer
>
StringUtils.join()
>
concat()
2、循环体内
StringBuilder
>
StringBuffer
>
StringUtils.join()
>
concat()
>
+
二、使用选择
1、在多线程环境下,涉及到
线程安全
,使用
StringBuffer
2、不涉及线程安全情况下:
(1)如果是在
循环体内
,使用
StringBuilder
(切不可使用
+
)
(2)如果没有循环,则使用
+
和
StringBuilder
是一样的(推荐使用
+
,毕竟
+
更简洁直观)