首頁  >  文章  >  Java  >  java中String、StringBuffer、StringBuilder之間的區別

java中String、StringBuffer、StringBuilder之間的區別

王林
王林轉載
2019-11-29 13:54:551841瀏覽

java中String、StringBuffer、StringBuilder之間的區別

區別如下:

1) String類別的內容一旦宣告後是不可改變的,改變的只是其記憶體的指向,而StringBuffer類別的物件內容是可以改變的。

2) 對於StringBuffer,不能像String那樣直接透過賦值的方式完成物件實例化,必須透過建構方法的方式完成。

3) StringBuffer的在進行字串處理時,不產生新的對象,在記憶體使用上要優於串列類別。所以在實際使用時,如果經常需要對一個字串進行修改,例如插入,刪除等操作,使用StringBuffer要更適合一些。

線上教學影片分享:java影片

範例: String物件不可修改指的是物件本身不可修改,而不是引用不可修改。

String a = “你好”;

這行程式碼的意思是宣告一個String類型的引用變數叫做a,在記憶體中建立一個String物件(值為"你好"),然後把這個物件的引用賦值給變數a。

a = “hello”;

這行程式碼執行的效果是在記憶體中另外建立了一個String物件(值為"hello"),然後把這個新物件的引用賦值給變數a,而不是把原來的記憶體中的那個「你好」的String物件值變成「hello」。

4) StringBuilder,StringBuffer 之間的最大不同在於 StringBuilder 的方法不是線程安全的(不能同步存取)。

5) StringBuilder 相較於 StringBuffer 有速度優勢,所以多數情況下建議使用 StringBuilder 類,然而在應用程式要求執行緒安全的情況下,則必須使用 StringBuffer 類別。

想了解更多java相關的文章可以存取:java程式設計入門

以上是java中String、StringBuffer、StringBuilder之間的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除