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