1.String

String使用private final修饰,是不可变的
String s = “ABC”;
输出s
s = “123”;
输出s
此时String对象是没有改变的,只是对象的引用s,指向了新的对象 。”ABC”对象还存在字符串缓冲区中。

StringBuilder和StringBuffer

  1. StringBuilder和StringBuffer表示的字符串可以直接进行修改。
  2. StringBuilder是JDK5引入的,它和StringBuffer的方法完全一致,区别在于它是在单线程环境下使用的,因为它的方法没有被synchronized修饰,因此它的效率理论上比StringBuffer要高