String、StringBuffer、StringBuilder區(qū)別

String 字符串常量 不可變 使用字符串拼接時(shí)是不同的2個(gè)空間。
StringBuffer 字符串變量 可變 線程安全,字符串拼接直接在字符串后追加。
StringBuilder 字符串變量 可變 非線程安全,字符串拼接直接在字符串后追加。

1、 StringBuilder執(zhí)行效率高于StringBuffer高于String。
2、String是一個(gè)常量,是不可變的,所以對(duì)于每一次+=賦值都會(huì)創(chuàng)建一個(gè)新的對(duì)象, StringBuffer和StringBuilder都是可變的,當(dāng)進(jìn)行字符串拼接時(shí)采用append方法,在原來(lái)的基礎(chǔ) 上進(jìn)行追加,所以性能比String要高,又因?yàn)镾tringBuffer是線程安全的而StringBuilder是線程非安全的,所以StringBuilder的效率高于StringBuffer。
3、對(duì)于大數(shù)據(jù)量的字符串的拼接,采用StringBuffer,StringBuilder。
4、另一種說(shuō)法,JDK1.6做了優(yōu)化,通過(guò)String聲明的字符串在進(jìn)行用“+”進(jìn)行拼接時(shí),底層調(diào)用的是StringBuffer,所以性能上基本和后兩者沒(méi)有什么區(qū)別。

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

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

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