String

String 内部由final修饰,所以String不可变。线程安全性高。然而因为他不可变,所以每一次字符串进行修改的时候都需要重新创建对象并分布内存,性能低。

StringBuffer

StringBuffer 是可变类,同时方法中添加了synchroized关键字,保证线程安全。字符串进行修改时无需新建对象,加了同步锁,效率比String高。

StringBuilder

StringBuilder 是可变类,线程不安全,字符串进行修改时无需新建对象,效率最高。