課程
/后端開發(fā)
/Java
/Java入門第三季
string對象存儲字符串的效率與stringbuilder,stringbuffer比較,哪個高?為什么
2017-12-28
源自:Java入門第三季 2-7
正在回答
StringBulider>StringBuffer>String;
String確定字符串之后是固定的不可改變的;重新添加字符串就會成為一個新的對象,并非是原對象;
StringBulider確定字符串后可對字符串進(jìn)行修改、增加內(nèi)容,且指定的還是原對象,性能比string高;
StringBulider和StringBuffer比較,前者沒有實(shí)現(xiàn)線程安全功能,后者是線程安全,所以前者比后者高;
血色萬花筒 提問者
學(xué)霸985
String是不可變的,所以天然線程同步。 同步就是排隊,線程t1要執(zhí)行的時候,必須等待t2線程執(zhí)行結(jié)束; 異步就是并發(fā),各線程執(zhí)行各自的,互不影響。
String主要用于公共API,通用性好、用途廣泛、讀取性能高、占用內(nèi)存小。StringBuilder主要用于拼接String,修改性能好。不過現(xiàn)在的編譯器已經(jīng)把 String 的 + 操作優(yōu)化成 StringBuilder 了,所以一般用String就可以了 String是不可變的,所以天然線程同步。StringBuilder可變,非線程同步。
筑夢堂
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
1 回答對StringBuilder字符串的插入
4 回答關(guān)于String和StringBuilder對象的比較
2 回答字符串對象
2 回答字符串---對象
1 回答StringBuilder對象轉(zhuǎn)換為String對象的意義?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-12-28
StringBulider>StringBuffer>String;
String確定字符串之后是固定的不可改變的;重新添加字符串就會成為一個新的對象,并非是原對象;
StringBulider確定字符串后可對字符串進(jìn)行修改、增加內(nèi)容,且指定的還是原對象,性能比string高;
StringBulider和StringBuffer比較,前者沒有實(shí)現(xiàn)線程安全功能,后者是線程安全,所以前者比后者高;
2020-09-11
2018-01-19
String主要用于公共API,通用性好、用途廣泛、讀取性能高、占用內(nèi)存小。
StringBuilder主要用于拼接String,修改性能好。
不過現(xiàn)在的編譯器已經(jīng)把 String 的 + 操作優(yōu)化成 StringBuilder 了,所以一般用String就可以了
String是不可變的,所以天然線程同步。
StringBuilder可變,非線程同步。