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