首先,在StringBuilder类中,所有对字符串的(增,删,改)操作都是在当前字符串中,并不是创建新的字符串,节省了内存空间。
在StringBuilder的构造函数中定义了初始容量值16,如果传递的是int类型则给指定的值作为初始容量,如果传递的是字符串类型则会获取字符串的长度后面再加16作为初始容量。
(就相当于,你创建了一个长度为3的字符串序列,系统又给你+16的富余空间,如果你想添加内容,不必创建新的字符串序列,可以直接放到后面16位的富余空间里。)
使用append方法将指定的字符串附加到此字符序列。
查看源代码发现,实际是调用AbstractStringBuilder父类的有参构造
构造方法如下
其中如何保障容量大小,方法如下
扩容操作的方法如下