String、StringBuffer以及StringBuilder

String

① 字符串是常量;它們的值在創建之后不能更改。
② Java 語言提供對字符串串聯符號("+")以及將其他對象轉換為字符串的特殊支持。字符串串聯是通過 StringBuilder(或 StringBuffer)類及其 append 方法實現的。字符串轉換是通過 toString 方法實現的。

StringBuffer

線程安全的可變字符序列。類似于 String 的字符串緩沖區,但不能修改。
StringBuffer 上的主要操作是 appendinsert 方法

StringBuilder

① 一個可變的字符序列。但不保證同步。
StringBuffer 的一個簡易替換,用在字符串緩沖區被單個線程使用的時候(這種情況很普遍),建議優先采用該類,因為在它比 StringBuffer 要快。

以上內容源于jdk1.6 API文檔

總結

  1. 在實際開發中,由于String是不可變的,所以,為了避免內存資源的浪費以及從性能上考慮,所以建議對于需要經常變動的字符串,采用StringBuffer或StringBuilder,對于這二者的選擇,多線程操作使用StringBuffer,否則,優先使用StringBuilder(處理速度更快),其實一般來說,基本都是用StringBuilder

  2. 對于字符串的拼接,例如:String str = "a"+"b"+"c",我們應該直接使用String,因為經過JVM的處理,它相當于String str = "abc",而且,處理速度是比你自己創建StringBuffer一個一個append是要更加高效的。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容