62,634
社区成员




StringBuffer extends AbstractStringBuilder
public StringBuffer() {
super(16);
}//默认初始16
public StringBuffer(String str) {
super(str.length() + 16);
append(str);
}//另一种构造方式
再看一下他的父类的源码
abstract class AbstractStringBuilder implements Appendable, CharSequence
char value[];//内部维护一个char数组
AbstractStringBuilder(int capacity) {
value = new char[capacity];
}
void expandCapacity(int minimumCapacity) {
int newCapacity = (value.length + 1) * 2;
if (newCapacity < 0) {
newCapacity = Integer.MAX_VALUE;
} else if (minimumCapacity > newCapacity) {
newCapacity = minimumCapacity;
}
value = Arrays.copyOf(value, newCapacity);
}//扩充容量