StringBuilder是java.lang包下的一个子类,继承了AbstractStringBuilder类。常用StringBuilder的3个构造方法, 分别是:
1.无参构造StringBuilder()
1)在使用无参构造来构造StringBuilder对象的时候:代码如下:
StringBuilder sb = new StringBuilder();
2)StringBuilder源码中的无参构造如下:
public StringBuilder() {
super(16);
}
3)在此处StringBulider调用父类AbStractStringBuilder类的有参构造,并自动传入默认的初始化容量16.
再往下看:
AbstractStringBuilder(int capacity) {
value = new char[capacity];
}
AbstractStringBuilder的有参构造如上所示,参数为int类型,而此处的value即是StringBuilder类中用于存储字符的char数组:
/**
* The value is used for character storage.
*/
char[] value;
4)所以经由以上分析所得,如果再实例化StringBuilder对象的时候调用无参构造方法,会自动给StringBuilder底层的value数组初始化容量16。