方式一:+ 最常见的方式
方式二:StringBuilder.append()和StringBuffer.append()
先有StringBuffer后有StringBuilder,两者就像是孪生双胞胎,该有的都有,只不过大哥StringBuffer,大部分方法都经过synchronized修饰,所以StringBuffer是线程安全的,但是它效率就相对StringBuilder较低
方式三:String类下的cocat()方法
如果拼接的字符串是null,concat会抛出NullPointerException。如果拼接的字符串是一个空字符串(“”),那么concat的效率要更高。如果拼接的字符串非常多,concat的效率就会下降,因为创建的字符串对象越多,开销越大。
方式四:String类下的join()方法
JDK1.8提供了一种新的字符串拼接姿势:String类增加了一个静态方法join,第一个参数为字符串连接符
方式五:StringJoiner
StringJoiner是JDK1.8,java.util包中的一个类,用于构造一个由分隔符重新连接的字符序列
StringJoiner源码
方式六:StringUtils.join()
实战项目中,我们处理字符串的时候,经常会用到这个类.org.apache.commons.lang3.StringUtils包下,该方法更善于拼接数组中的字符串,并且不用担心 NullPointerException。