java String、StringBuilder和StringBuffer的區(qū)別詳解
1.共同點:
三者都是字符串類。StringBuilder和StringBuffer都是繼承AbstractStringBuilder類,存儲字符串都是使用數(shù)組進(jìn)行存儲的。
2.區(qū)別:
a. String 類存儲字符串使用的數(shù)組被final進(jìn)行修飾了,當(dāng)對String對象進(jìn)行增加修改字符時,都需要重新new一個字符數(shù)組,將原來的值拷貝到新的字符數(shù)組中,所以當(dāng)字符串的值需要經(jīng)常修改的時候就需要考慮用StringBuilder或StringBuffer來進(jìn)行處理了。
public final class String implements java.io.Serializable, Comparable<String>, CharSequence {
private final char value[];
}
b.StringBuffer和StringBuilder也是使用字符數(shù)組來進(jìn)行存儲字符串的,但沒有使用final進(jìn)行修飾;StringBuffer定義的方法都加入了synchronized修飾,也就是說StringBuffer類方法都是線程安全的,而StringBuilder方法沒有被修飾,兩者常用的方法是append()。
3.使用場景:
- 當(dāng)字符串值不會變化時,考慮使用String
- 當(dāng)字符串的值多變的時候,考慮使用StringBuilder或者StringBuffer
- 當(dāng)要求線程安全時候,考慮使用StringBuffer。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 詳解java中String、StringBuilder、StringBuffer的區(qū)別
- Java中關(guān)于String StringBuffer StringBuilder特性深度解析
- java中String、StringBuffer與StringBuilder的區(qū)別
- java中String StringBuffer和StringBuilder的區(qū)別詳解
- Java源碼深度分析String與StringBuffer及StringBuilder詳解
- Java中String和StringBuffer及StringBuilder?有什么區(qū)別
- 詳解Java中String,StringBuffer和StringBuilder的使用
- Java StringBuffer與StringBuilder有什么區(qū)別
- Java中String、StringBuffer和StringBuilder的區(qū)別
- 一文講解Java的String、StringBuffer和StringBuilder的使用與區(qū)別
相關(guān)文章
SpringCloud+Redis實現(xiàn)Api接口限流防止惡意刷接口
接口限流是為了保護(hù)系統(tǒng)和服務(wù),防止因為過多的請求而崩潰,本文主要介紹了SpringCloud+Redis實現(xiàn)Api接口限流防止惡意刷接口,具有一定的參考價值,感興趣的可以了解一下2024-03-03
Java異常 Factory method''sqlSessionFactory''rew exception;este
這篇文章主要介紹了Java異常 Factory method ‘sqlSessionFactory‘ threw exception; nested exception is java.lang.NoSuchMethodError:,本文介紹了springboot 引入mybatis-plus后報錯的解決方案,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
Springboot視圖解析器ViewResolver使用實例
這篇文章主要介紹了Springboot視圖解析器ViewResolver使用實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04
java實現(xiàn)HttpClient異步請求資源的方法
這篇文章主要介紹了java實現(xiàn)HttpClient異步請求資源的方法,實例分析了java基于http協(xié)議實現(xiàn)異步請求的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07
深入理解Netty?FastThreadLocal優(yōu)缺點及實現(xiàn)邏輯
本文以線上詭異問題為切入點,通過對比JDK ThreadLocal和Netty FastThreadLocal實現(xiàn)邏輯以及優(yōu)缺點,并深入解讀源碼,由淺入深理解Netty FastThreadLocal2023-10-10
Java讀取文件及基于正則表達(dá)式的獲取電話號碼功能詳解
這篇文章主要介紹了Java讀取文件及基于正則表達(dá)式的獲取電話號碼功能,結(jié)合實例形式詳細(xì)分析了正則匹配操作的相關(guān)語法及電話號碼匹配的原理與實現(xiàn)技巧,需要的朋友可以參考下2017-09-09
springboot全局配置文件與多環(huán)境配置的全過程
SpringBoot項目在多環(huán)境配置上表現(xiàn)的非常優(yōu)秀,只需要非常簡單的操作就可以完成配置,下面這篇文章主要給大家介紹了關(guān)于springboot全局配置文件與多環(huán)境配置的相關(guān)資料,需要的朋友可以參考下2021-12-12
如何從eureka獲取服務(wù)的ip和端口號進(jìn)行Http的調(diào)用
這篇文章主要介紹了如何從eureka獲取服務(wù)的ip和端口號進(jìn)行Http的調(diào)用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03

