StringBuffer和String的区别是什么
作者:邵发
官网:http://afanihao.cn/java
StringBuffer 是一个用于构造字符串的工具类,是面试里常考的一个问题。
1 字符串的拼接
还得先从String说起。在Java里,构造一个字符串可以直接用String的拼接功能,简单而直观。
比如,
String s1 = "阿发";
s1 += "你好";
s1 += "Hello";
s1 += "World";
看起来很简单,是不是?
但这一段代码存在一定的迷惑性,一般初学者会觉得,这4行代码修改了String对象只有一个,就是s1对象。
其实不然,这里是创建了4个String对象。也就是说,
s1 += "你好" ;
相当于:
String str = s1 + "你好";
s1 = str;
其中,s1 + "你好" 是创建一个新的String对象。
通过单步调试,观察s1引用的实例ID值,