StringBuffer和StringBuilder类
当对字符串进行拼接的时候,需要使用StringBuffer和StringBuilder类。
相同点
1.StringBuffer,StringBuilder继承 AbstractStringBuilder实现接口 java.io.Serializable, CharSequence
2.String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。
不同点
1.在于StringBuilder的方法不是线程安全的(不能同步访问),从源码上看,StringBuffer在方法前加synchronized,将方法锁住保证线程的安全。
2.StringBuilder效率要比StringBuffer高,主要原因也是StringBuffer在方法前加锁导致的。
由于StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用StringBuilder类。然而在应用程序要求线程安全的情况下,则必须使用StringBuffer类。