java拼接字符串的方式

目前使用到的拼接字符串的方法

  1. “+”号拼接
  2. StringBuilder.append()方法
  3. StringBuffer.append方法
  4. String.format()方法

在效率方面来说,效率最好的是StringBuilder.append方法,但是StringBuilder.append是线程不安全的,需要线程安全的场景可以使用StringBuffer.append方法。

使用String类重载”+”运算符进行拼接本质上是调用StringBuilder.append方法,但是比直接调用StringBuilder.append()方法要慢很多,而且当拼接字符串较多时,内存占用也特别大。当拼接字符串较少时可以使用”+”拼接,在最求代码简洁性时可以使用。
使用”+”拼接字符串时JVM会在编译时进行优化,也就是使用StringBuilder的append方法

String.format方法每次都会生成一个Formatter对象,调用的是Formatter的format方法,但是查看其源码使用的也是StringBuilder.append方法,String.format虽然效率不如StringBuilder.append方法,但是在需要数据转换的时候,如日期转换,数字转换等,可以使用String.format方法。