StringBuffer与StringBuilder都是继承自同一个抽象类,基本上方法都一样,实现也几乎都是一样的,而导致StringBuffer效率低一些的原因就是StringBuffer的几乎所有方法都加了synchronized。
不论怎样,方法只要加了synchronized同步,效率就是比不加synchronized的低。。
为了确保多线程下的安全,牺牲点效率也还行。
反正区分好这两个的使用场景就是了,不管怎样,使用这两个类的append方法都比String使用+号的效率高,当然,前提是忽略创建对象的开销。少量添加操作时用String和+,大量添加操作时用StringBuilder和StringBuffer。