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
是一样的(推荐使用+
,毕竟+
更简洁直观)