1.从实例化StringBuilder入手:
StringBuilder stringBuilder = new StringBuilder("sldf");
2.进入new StringBuilder(“sldf”)内
public StringBuilder(String str) {
super(str.length() + 16); //调用父类的构造方法,进行初始容量设置
append(str); //append方法添加字符串
}
3.首先进入 super(str.length() + 16)内,这是个类是AbstractStringBuilder是一个抽象类:
/**
* The value is used for character storage.
*/
char[] value; //StringBuilder内没有存储字符串的字符数组,依靠的是父类AbstractStringBuilder进行存储
AbstractStringBuilder(int capacity) {
value = new char[capacity]; //创建一个字符数组,进行初始容量设置,并指定容量为字符串长度
}
4.在第2步中进入append(str)内:
@Override
public StringBuilder append(String str) {
super.append(str); //调用父类AbstractStringBuilder构造方法进行字符串添加
return this; //返回本StringBuilder对象
}
5.进入super.append(str)内:
/**
* The count is the number of characters used.
*/
int count; //现在已有的字符串长度数
public AbstractStringBuilder append(String str