String、StringBuffer和StringBuilder請告訴我要比較的實時情況String, StringBuffer,和StringBuilder?
3 回答

月關(guān)寶盒
TA貢獻1772條經(jīng)驗 獲得超5個贊
易變性差異:
String
StringBuffer
StringBuilder
螺紋-安全差別:
StringBuffer
StringBuilder
StringBuffer
StringBuilder
. StringBuilder
StringBuffer
.
情況:
如果您的字符串不會更改,請使用String類,因為 String
對象是不可變的。 如果您的字符串可以更改(例如:字符串構(gòu)造中的大量邏輯和操作),并且只能從單個線程訪問,則使用 StringBuilder
就夠好了。 如果您的字符串可以更改,并且將從多個線程訪問,請使用 StringBuffer
因為 StringBuffer
是同步的,所以你有線程安全。

莫回?zé)o
TA貢獻1865條經(jīng)驗 獲得超7個贊
你用 在合適的不可變結(jié)構(gòu)時;從 String
無論是在CPU時間還是在內(nèi)存中,都可能帶來不可接受的性能損失(獲取子字符串是CPU效率的原因,因為數(shù)據(jù)沒有被復(fù)制,但這意味著可能會有更多的數(shù)據(jù)仍然被分配)。 你用 當(dāng)您需要創(chuàng)建一個可變字符序列時,通常需要將多個字符序列連接在一起。 你用 在同樣的情況下,你會使用 StringBuilder
,但是當(dāng)對基礎(chǔ)字符串的更改必須同步時(因為有幾個線程正在讀取/修改字符串緩沖區(qū))。
添加回答
舉報
0/150
提交
取消