《神佑釋放》各職業特點分析
阿新 • • 發佈:2021-08-11
StringBuffer和StringBuilder
String類的缺點:
String 是一個不可變的資料型別,每每拼接都會產生一個新的字串,那麼記憶體遲早會被這些拼接的字串塞滿。
String類和StringBuilder和StringBuffer類的區別:
StringBuilder和StringBuffer:可變的字串,不產生新物件,比較省記憶體,當進行大量的字串拼接時建議使用StringBuffer和StringBuilder,但它們兩個一些方法的實現幾乎跟String一樣。
StringBuffer和StringBuilder類:
【相似點】
兩者用法一模一樣,可以認為是一個類
【區別】
-
StringBuffer執行緒安全,StringBuilder非執行緒安全。
-
StringBuilder相比於StringBuffer有速度優勢,多數情況下建議使用StringBuilder類,但當被要求執行緒安全時必須使用StringBuilder類
StringBuffer和StringBuilder 轉成String類
StringBuilder sb = new StringBuilder("貓喜歡吃魚"); String s = sb.toString();
【參考程式碼】
package String; public class TestStringBuilder { public static void main(String[] args) { StringBuilder sb = new StringBuilder();// 一個空的字串"" StringBuilder sb2 = new StringBuilder("貓喜歡吃魚"); System.out.println(sb2);// 貓喜歡吃魚 sb2.append(",狗也喜歡吃魚"); System.out.println(sb2);// 追加 貓喜歡吃魚,狗也喜歡吃魚 sb2.insert(1,"哈哈哈"); System.out.println(sb2); //貓哈哈哈喜歡吃魚,狗也喜歡吃魚 // 上述的操作huan'c // 把StringBuilder轉化成String String s = sb2.toString(); System.out.println(s); //貓哈哈哈喜歡吃魚,狗也喜歡吃魚 // 上述操作都可以將StringBuilder換成StringBuffer,結果一樣 } }