TL;DR
StringBuffer是线程安全的
StringBuffer vs StringBuilder
它们都是AbstractStringBuilder的子类,最大的不同之处在于StringBuffer大量使用了synchronized关键字来保证方法调用的线程安全。
例如我们常用的append方法,在StringBuffer中:
public synchronized StringBuffer append(boolean b) {
super.append(b);
return this;
}
在StringBuilder中:
public StringBuilder append(boolean b) {
super.append(b);
return this;
}
两者除synchronized关键字外,没有什么不同。
备注
没有自己的去看,但这上面基本可以覆盖日常使用了。