java字符串拼接

Author Avatar
丁起男 07月 03,2020
  • 在其它设备中阅读本文章

字符串拼接

加号

编译的常量

String str = "a"+"b"+"c";

编译后:

String str = "abc";
  • 对于编译的常量,在编译后直接计算出拼接后的字符串值

对象

String s1 = "a";
String s2 = "b";
String str = s1 + s2;

编译后:

String s1 = "a";
String s2 = "b";
String str = new StringBuilder(String.valueOf(s1)).append(s2).toString();
  • 对spring对象进行+操作,实际上会创建一个临时的StringBuilder进行拼接操作
  • 由于循环中每次执行都会创建一个对象,故不建议在循环中使用

concat

String str = "a"
                .concat("b")
                .concat("c");

String.join

String str = String.join(",","a","b","c");
  • java8中新添加的方法
  • 底层使用StringJoiner

StringBuilder(StringBuffer)

String s4 = new StringBuilder()
                .append("a")
                .append("b")
                .append("c")
                .toString();
  • StringBuilder 线程不安全,但性能好
  • StringBuffer线程安全,但性能不好