Android:基礎(chǔ)知識學(xué)習(xí)(String、StringBuffer和StringBuilder區(qū)別)

朋友們有沒有發(fā)現(xiàn)一個問題,看了網(wǎng)上的這么多文章,如果自己不去動手去寫一寫,去真正的總結(jié),那么用不了多久,就忘掉了這些知識點,本人實在是一個笨鳥,所以想去自己記錄一番,真正的去學(xué)習(xí)些知識,哈哈!

話不多說,今天就讓我們一起學(xué)習(xí)一些,常用的基礎(chǔ)知識吧!

一、String

String作為字符串常量,相信大家都不陌生,相比較StringBuffer和StringBuilder而言,它是不可變對象,因為String類使用的是字符數(shù)組保存字符串,如:private final char value[ ],因為有了final進行了修飾,所以String對象是不可變的。

對于線程安全而言,String作為字符串常量,String對象是不可變的,顯然它線程是安全的。

二、StringBuffer

StringBuffer繼承自AbstractStringBuilder類,而這個類是為了解決大量的拼接字符串時產(chǎn)生很多中間對象問題,它的本質(zhì)是一個線程安全的可變的字符序列,底層是可修改的char value[ ],它對調(diào)用的方法加入了synchronized,進行了同步,保證了線程安全的前提下,耗費了一些性能上的代價。

三、StringBuilder

StringBuilder同樣繼承自AbstractStringBuilder類,它和StringBuffer本質(zhì)上沒有什么太大的區(qū)別,區(qū)別就在于,它放棄了線程安全的部分,放棄了同步鎖,減少了對性能的開銷。

對于效率使用方面,個人才疏學(xué)淺,只能總結(jié)出大部分情況下,StringBuilder>StringBuffer>String

雖然寫的不多,但是這些都是笨鳥本人的一些理解,希望各位技術(shù)大佬和一同學(xué)習(xí)的朋友們,多多指導(dǎo),畢竟是本人的第一篇技術(shù)總結(jié)分享!感謝,感謝!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容