StringBuffer 和 StringBuilder 中的方法其实几乎是相同的,但是前者是线程安全的,后者是线程不安全的,自然后者的速度比前者来的快
下面列举出了前者的部分源码
public synchronized StringBuffer append(Object obj) {
super.append(String.valueOf(obj));
return this;
}
public synchronized StringBuffer append(String str) {
super.append(str);
return this;
}
后者
public StringBuilder append(Object obj) {
return append(String.valueOf(obj));
}
public StringBuilder append(String str) {
super.append(str);
return this;
}
下面列举出了前者的部分源码
public synchronized StringBuffer append(Object obj) {
super.append(String.valueOf(obj));
return this;
}
public synchronized StringBuffer append(String str) {
super.append(str);
return this;
}
后者
public StringBuilder append(Object obj) {
return append(String.valueOf(obj));
}
public StringBuilder append(String str) {
super.append(str);
return this;
}
本文对比了StringBuffer和StringBuilder这两个类的区别。StringBuffer是线程安全的,而StringBuilder不是线程安全的,因此StringBuilder在单线程环境中通常具有更快的性能。文章提供了两个类的部分源码来展示其内部实现的不同。
2083

被折叠的 条评论
为什么被折叠?



