StringBuffer与StringBuilder的区别

       众所周知,StringBuffer、StringBuilder主要应用场景为字符串的拼接,代替String类型,可以提高效率,节约内存消耗,通过原码分析StringBuffer的和字符串相关操作的方法都使用 synchronized 关键字,而StringBuilder和字符串操作相关的方法没有使用 synchronized ,

        所以实际使用中,都是使用StringBuilder

            StringBuffer    StringBuilder
发布版本:      JDK1.0          JDK1.5
效率:            低               高
线程安全:        安全            不安全

StringBuffer原码如下:

public synchronized StringBuffer append(String str) {
  super.append(str);
  return this;
}   
public synchronized StringBuffer append(Object obj) {
  super.append(String.valueOf(obj));
  return this;
}
..............................

StringBuilder原码如下:

public StringBuilder append(Object obj) {
  return append(String.valueOf(obj));
}
public StringBuilder append(String str) {
  super.append(str);
  return this;
}
..............................

 

你可能感兴趣的:(StringBuffer与StringBuilder的区别)