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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java中的字符串表現(xiàn)不同

java中的字符串表現(xiàn)不同

蕪湖不蕪 2021-10-06 09:51:23
如果是字符串文字:-String s = "happ"s = s.concat("y")  //line1
查看完整描述

2 回答

?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗 獲得超8個贊

在你的第一個例子中:

  String s = "happ";
  s = s.concat("y");

當(dāng)這些語句被執(zhí)行1 時,字符串池中已經(jīng)創(chuàng)建了String對象來表示(分別)文字和文字。 "happ""y"

第二條語句的執(zhí)行創(chuàng)建了一個String表示字符串的新對象"happy"。此對象不在字符串池中。


我想特別澄清這個疑問,當(dāng)對來自池和堆的字符串進(jìn)行操作時,字符串將 concat 方法的結(jié)果存儲在何處。

它是在堆2 中創(chuàng)建的,而不是在字符串池中。具體來說。

StringAPI 中在字符串池中創(chuàng)建對象的唯一方法是String.intern(). (這包括構(gòu)造函數(shù)。)


1 - 請注意我在這里仔細(xì)選擇的詞。如果是第一次執(zhí)行語句,則字符串池中對象的創(chuàng)建可能是在語句執(zhí)行過程中發(fā)生的?;蛘咚赡芤郧鞍l(fā)生過。確切的時間是特定于實現(xiàn)的。但是,JLS 保證對于相同的文字不會發(fā)生多次。

2 - 請注意,對于現(xiàn)代 HotSpot JVM,字符串池位于常規(guī)堆中。它不是一個單獨的空間。字符串池實際上只是一個(JVM 私有的)數(shù)據(jù)結(jié)構(gòu)。


查看完整回答
反對 回復(fù) 2021-10-06
  • 2 回答
  • 0 關(guān)注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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