String 字符串常量
StringBuffer 字符串变量(线程安全)
String是“字符创常量”,是不可改变的对象。
String str = "abc";
str = str+123;
System.out.print(str);// result : abc123
JVM代码解析机制:
(1))创建对象str,并赋值"abc"
(2)创建一个新的对象str,执行第二行代码,也就是说我们之前对象str并没有改变,因此我们说String类型是不可改变的对象
由于这种机制,每当用String操作字符串时,实际上是在不断的创建新的对象,而原来的对象就会变为垃圾被GC掉,这样执行代码效率低.
String和StringBuffer的主要区别:
String内容不可改变,StringBuffer内容可以改变.