一、不同点
1.String是final修饰的,不可变每次操作会产生新的String对象。
2.StringBuffer和StringBuilder都是在原对象操作。
3.StringBuffer是线程安全的,StringBuilder线程不安全
二、性能
StringBuidler > StringBuffer > String
三、使用场景
经常需要改变字符串内容时用StringBuilder和StringBuffer。
优先使用StringBuilder,多线程使用共享变量的时候使用StringBuffer。(为了保障线程安全)