JDK注解对StringBuffer的解释是,一个线程安全的,可变的字符序列。
线程安全体现在有些方法是使用synchronized关键字修饰的
length方法
@Override
public synchronized int length() {
return count;
}
capacity方法
@Override
public synchronized int capacity() {
return value.length;
}
ensureCapcity方法
@Override
public synchronized void ensureCapacity(int minimumCapacity) {
if (minimumCapacity > value.length) {
expandCapacity(minimumCapacity);
}
}
charAt方法
@Override
public synchronized char charAt(int index) {
if ((index < 0) || (index >= count))
throw new StringIndexOutOfBoundsException(index);
return value[index];
}
以及append方法
@Override
public synchronized StringBuffer append(Object obj) {
toStringCache = null;
super.append(String.valueOf(obj));
return this;
}
@Override
public synchronized StringBuffer append(String str) {
toStringCache = null;
super.append(str);
return this;
}