String:不可变字符序列,顶层char[] 修饰符 final
StringBuffer:可变字符序列,线程安全,效率低 。 底层 char[] 无参初始容量为16
StringBuilder:可变字符序列,线程不安全,效率高 。 底层 char[] 无参初始容量为16
StringBuffer、StringBuilder 扩容问题,如果添加的数据底层数组盛不下了,那就需要扩容底层数组。
默认情况下,扩容为原来的2倍+2,同时将原有数组中的元素复制到新数组中。
建议:开发中应使用StringBuffer(int capacity)或StringBuilder(int capacity)构造器 ,来减少扩容操作