Java字符串常用的3种拼接方法
一、String += 1.加号拼接,以a=“a”; str = “a”+"b"为例,将字节码反编译,得到以下效果代码: String a = “a”; StringBuilder sb = new StringBuilder(); sb.append(a).append(“b”); String str = sb.toString()
2.可以看到,每次拼接都会创建一个StringBuilder。所以说这只是语法糖,不能算符号重载,稍加不注意就行影响效率,因为我们日常编写不可能用+号拼接很长的串,中间还有涉及业务逻辑。
二、String.concat(String str) 方法 concat方法是String给我们提供的拼接字符串的方法。
String jeremy = "Jeremy"; String tsai = "Tsai"; String jeremytsai = jeremy.concat(tsai);
将指定的字符串连接到该字符串的末尾。如果参数字符串的长度为0,则返回此String对象。 否则,返回一个String对象,该对象表示一个字符序列,该字符序列是此String对象表示的字符序列与参数字符串表示的字符序列的串联。
三、StringBuilder 拼接字符串 String jeremy = "jeremy"; String tsai = "tsai"; String jeremytsai = new StringBuilder().append(jeremy).append(tsai).toString();
四、String 字符串拼接效率对比 String在Java中是不可变对象,因此每次拼接都是生成新的String对象,为了解决频繁的内存开辟消耗资源,才有了StringBuilder类。在+拼接过程中,JDK默认优化成为StringBuilder以提高运行效率。