這篇文章給大家介紹javaString、StringBuilder和StringBuffer的區別有什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1.共同點:
三者都是字符串類。StringBuilder和StringBuffer都是繼承AbstractStringBuilder類,存儲字符串都是使用數組進行存儲的。
2.區別:
a. String 類存儲字符串使用的數組被final進行修飾了,當對String對象進行增加修改字符時,都需要重新new一個字符數組,將原來的值拷貝到新的字符數組中,所以當字符串的值需要經常修改的時候就需要考慮用StringBuilder或StringBuffer來進行處理了。
public final class String implements java.io.Serializable, Comparable<String>, CharSequence { private final char value[];}
b.StringBuffer和StringBuilder也是使用字符數組來進行存儲字符串的,但沒有使用final進行修飾;StringBuffer定義的方法都加入了synchronized修飾,也就是說StringBuffer類方法都是線程安全的,而StringBuilder方法沒有被修飾,兩者常用的方法是append()。
3.使用場景:
當字符串值不會變化時,考慮使用String 當字符串的值多變的時候,考慮使用StringBuilder或者StringBuffer 當要求線程安全時候,考慮使用StringBuffer。
關于javaString、StringBuilder和StringBuffer的區別有什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。