1、String內容是不可變的字符,String底層使用了一個不可變的字符數組(final char[])
注:final修飾一個類,這個類不可以被繼承,若是修飾一個變量,這個變量被賦值后不可以改變
StringBuilder和StringBuffer底層是可變的字符數組
2、拼接字符串
1)、String進行拼接 String = "a"+"b";//在此創建了三個對象
2)、StringBuilder sb = new StringBuilder();sb.append("a").append("b");//仍然還是原來的對象
所以拼接字符串盡量不要用String進行拼接
3.StringBuilder是線程不安全的效率高,StringBuffer是線程安全的,效率低
StringBuffer在append方法上增加了sycronize線程鎖