StringBuilder是字符串对象的缓冲区对象, 缓冲区(出现目的,为了高效)提高String类的效率.
- String str = "a"; //字符数组
- String str2 = "b";//字符数组
- String str3 = str + str2;//字符数组
一个可变的字符序列,字符序列就是字符数组
- String 类中 : private final char[] value;
- StringBuilder : char[] value;
字符序列是数组,Java数组的是定长的,一旦创建,长度固定!
创建对象的时候,StringBuilder中的数组的初始化长度为16个字符
StringBuilder自动的进行数组的扩容,新数组实现,原来数组的中元素复制到新的数组.
结论 : 无论怎么做字符串的操作,StringBuilder内部永远只有一个数组
StringBuilder类是线程不安全的类,运行速度快 , 推荐使用StringBuilder
StringBuffer是线程安全的类,运行速度慢,多线程的程序,使用
两个类的构造方法,和其他的方法,一模一样.