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