StringBuffer : 线程安全的可变字符序列
StringBuilder :
1、一个可变的字符序列
2、此类提供与StringBuffer兼容的API,继承相同的父类AbstractStringBuilder,但不保证同步|线程不安全
3、此类设计用作StringBuffer替代品,用于单个线程使用字符串缓冲区的位置(通常情况下)大量操作字符串。
4、在可能的情况下,建议使用此类优先于StringBuffer因为在大多数实现中它会更快。]
注意: 以后某些结构底层使用数组存储数据,一般会存在默认的初始容量,减少扩容拷贝的次数,提高效率.
String , StringBuilder , StringBuffer 区别:
共同点:1、都是字符序列,表示子串;2、底层都是字节数组(老版本jdk字符数组)
区别:1.String 不可变长字符序列(StringBuffer|StringBuilder 可变长字符序列)
2.执行效率:(StringBuilder > StringBuffer > String)
3.同步方面:StringBuilder 线程不安全;StringBuffer 同步