Java中String 、StringBuilder 、StringBuffer 的區別

Java 平臺提供了兩種類型的字符串操作方式:String 和 StringBuffer/StringBuilder,它們都可以儲存和操作字符串,區別如下:

  1. String 是隻讀字符串,也就意味着 String 引用的字符串內容是不能被改變的。
String str = "abc";
str = "bcd";

注意:如上代碼,可能是很多初學者不明白的地方,看着字符串 str 明明是可以改變的,其實不然,str 僅僅是一個引用對象,它指向一個字符串對象“abc”。第 二行代碼的含義是讓 str 重新指向了一個新的字符串“bcd”對象,而“abc”對象並沒有任何改變,只不過該對象已經成爲一個不可及對象罷了。

  1. StringBuffer/StringBuilder 表示的字符串對象可以直接進行修改。

  2. StringBuilder 是 Java5 中引入的,它和 StringBuffer 的方法完全相同,區別在於它是在單線程環境下使用的,因爲它的所有方法都沒有被 synchronized 修飾,因此它的效率理論上也比 StringBuffer 要高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章