append函數(shù)可以用在字符串嗎 StringBuffer的"append"和String的" "用來(lái)連接字符串哪個(gè)好些?
StringBuffer的"append"和String的" "用來(lái)連接字符串哪個(gè)好些?一旦字符串被分配或?qū)嵗?,就不能更改。如果給定一個(gè)新值,內(nèi)存地址將被重新打開(kāi)存儲(chǔ)
StringBuffer的"append"和String的" "用來(lái)連接字符串哪個(gè)好些?
一旦字符串被分配或?qū)嵗?,就不能更改。如果給定一個(gè)新值,內(nèi)存地址將被重新打開(kāi)存儲(chǔ)。當(dāng)StringBuffer類(lèi)使用append和insert等方法更改字符串值時(shí),它只對(duì)原始對(duì)象的內(nèi)存地址進(jìn)行連續(xù)操作,從而降低了資源成本。因此,我們得出結(jié)論:當(dāng)您需要頻繁修改字符串時(shí),應(yīng)該先創(chuàng)建一個(gè)StringBuffer類(lèi)對(duì)象進(jìn)行操作,然后將最終結(jié)果轉(zhuǎn)換成string類(lèi)對(duì)象進(jìn)行返回,這樣效率會(huì)更高。
StringBuilder的append方法和String String的區(qū)別?
StringBuilder和StringBuffer。字符串存儲(chǔ)在char[]中,char[]存儲(chǔ)在堆中。
StringBuilder和StringBuffer的附件將string對(duì)象中的char[]字符直接復(fù)制到StringBuilder和StringBuffer的char[]中,與每次創(chuàng)建一個(gè)新的string對(duì)象并打開(kāi)一段新的內(nèi)存相比,效率更高。當(dāng)然,當(dāng)StringBuilder和StringBuffer的char[]長(zhǎng)度不夠時(shí),會(huì)打開(kāi)一段新的內(nèi)存。此外,StringBuffer是線程安全的,而StringBuilder不是。