第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

StringBuilder是在原有的地址里去改變?cè)瓉?lái)的字符串嗎?

解析里面說(shuō)StringBuilder 不會(huì)額外創(chuàng)建一個(gè)對(duì)象,比如我先StringBuilder ?str1 = new?StringBuilder ("JAVA"); ? 再StringBuilder ?str2 ?=new?StringBuilder(str1 + 'A');

那么按照解析里說(shuō)的,不會(huì)額外產(chǎn)生臨時(shí)的變量,那是直接在str1的地址上修改成了JAVAA? ?我在eclipse里實(shí)驗(yàn)了一下,兩個(gè)字符串的地址也不一樣,也就是說(shuō),還是新開辟了一個(gè)地址,新產(chǎn)生了一個(gè)變量呀。有什么區(qū)別

正在回答

1 回答

凡是new出來(lái)的都是對(duì)象。你new了2次,當(dāng)然會(huì)產(chǎn)生新的對(duì)象(開辟新的地址)。我們說(shuō)字符串具有不變性,指的是字符串一旦聲明不可改變(存儲(chǔ)在字符串常量池中)。例如:

String?str1?=?'abc';
str1?+=?'123';

實(shí)際上以上的代碼會(huì)在常量池中產(chǎn)生2個(gè)字符串:abc和abc123,其中前者因?yàn)闆]有任何指向會(huì)在適當(dāng)?shù)臅r(shí)候被gc回收;而StringBuilder將字符串存放在緩沖區(qū)(提到緩沖區(qū)我們很自然可以想到可以提高效率)。整個(gè)的字符串操作都是在緩沖區(qū)中進(jìn)行,最后調(diào)用toString()方法返回字符串(期間并沒有產(chǎn)生臨時(shí)字符串)

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

CyberLiu 提問者

非常感謝!
2015-09-17 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

StringBuilder是在原有的地址里去改變?cè)瓉?lái)的字符串嗎?

我要回答 關(guān)注問題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)