Java 源码 - StringBuffer


介绍

A thread-safe, mutable sequence of characters.

示例

public class Test {
  public static void main(String[] args) {
    StringBuffer sb = new StringBuffer();
    sb.append("费哥");
    sb.append("爱你");
    System.out.println(sb.toString());
  }
}

源码

 public final class StringBuffer extends AbstractStringBuilder
  implements java.io.Serializable, CharSequence {

  private transient char[] toStringCache;

  public StringBuffer() {
    super(16);
  }

  @Override
  public synchronized StringBuffer append(String str) {
    toStringCache = null;
    super.append(str);
    return this;
  }

  @Override
  public synchronized StringBuffer reverse() {
    toStringCache = null;
    super.reverse();
    return this;
  }

  @Override
  public synchronized String toString() {
    if (toStringCache == null) {
      toStringCache = Arrays.copyOfRange(value, 0, count);
    }
    return new String(toStringCache, true);
  }
}