文章目录
❗IDEA 的“误导性”提示?
当我们在idea中使用append拼接字符串时:
public class Main {
public static void main(String[] args) {
String s = new StringBuilder().append("a").append("b").append("c").append("d").toString();
System.out.println(s);
}
}
IDEA会提示你可以直接将StringBuilder替换为String:
嗯?这是怎么回事?面试的八股文不是这么教的呀?
📘 回顾面试八股:String 与 StringBuilder 的区别
面试八股文:String是不可变对象,StringBuilder是可变对象
在Java中,使用 StringBuilder
进行字符串拼接比使用 +
运算符更快,主要原因在于 String
的不可变性和中间对象的创建开销。
🌟 String 是不可变对象
String s = "a";
s = s + "b";
每次用 +
拼接时,都会创建一个新的 String
对象,过程其实类似于: