http://guhanjie.iteye.com/blog/1683637
http://www.zhihu.com/question/31203609
1.String 类
按照 Java 语言的规定,String 类是 immutable 的 Unicode 字符序列,其作用是实现一种不能改变的静态字符串。例如,把两个字符串连接起来的结果是生成一个新的字符串,而不会使原来的字符串改变。实际上,所有改变字符串的结果都是生成新的字符串,而不是改变原来字符串。
str += "123" 实际上是 str = str + "123", 实际上是 str 指向一个新生成的字符串对象。
str += "123" 实际上是 str = str + "123", 实际上是 str 指向一个新生成的字符串对象。
2.StringBuffer 类
String 类不能改变字符串对象中的内容,只能通过建立一个新串来实现字符串的变化。如果字符串需要动态改变,就需要用 StringBuffer 类。StringBuffer 类主要用来实现字符串内容的添加、修改、删除,也就是说该类对象实体的内存空间可以自动改变大小,以便于存放一个可变的字符序列。