1. 程式人生 > >String&StringBuffer&StringBuilder

String&StringBuffer&StringBuilder

tle length str cts zed final 沒有 數組 bstr

String StringBuffer StringBuilder

String --> private final char val[] 使用final定義的char數組
StringBuffer -->AbstractStringBuilder char val[] 沒有使用final定義
StringBuilder -->AbstractStringBuilder char val[] 沒有使用final定義

String因為是final定義的 因此可以理解成常量 線程安全的
StringBuffer
public synchronized void setLength(int newLength) {
super.setLength(newLength);
}
StringBuffer中的方法都是使用Synchronized定義的,因此線程安全的。
StringBuilder
線程不安全

String&StringBuffer&StringBuilder