3 回答

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊
正如在字符串對(duì)象和字符串文字之間的差異中所回答的
在第一個(gè) for 循環(huán)中(因?yàn)槭褂昧诵伦址?chuàng)建 10 個(gè)對(duì)象,在第二個(gè) for 循環(huán)中僅創(chuàng)建一個(gè)對(duì)象并將被重用(因?yàn)樗鼘⒋鎯?chǔ)在字符串池中)。

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊
第一個(gè)循環(huán)將創(chuàng)建 10 個(gè)不同的對(duì)象,第二個(gè)將只有一個(gè),因?yàn)槲淖謱?duì)象字符串在編譯時(shí)只創(chuàng)建一次,每次請(qǐng)求編譯器都會(huì)返回相同的引用。

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
字符串"abc"將被創(chuàng)建并放入字符串池
String a = new String("abc")會(huì)"abc"在字符串池中找到字符串,創(chuàng)建新的對(duì)象字符串,不放入字符串池
共創(chuàng)建11個(gè)字符串,只有一個(gè)"abc"放入字符串池
for (int i= 0;i<10; i++){
String a = new String("abc");
}
字符串"abc"將被創(chuàng)建并放入字符串池中。
String a = "abc"將"abc"在字符串池中找到存在的字符串,并且引用a將指向同一個(gè)字符串對(duì)象"abc"。
總共將創(chuàng)建 1 個(gè)字符串放入字符串池
for (int i= 0;i<10; i++){
String a = "abc";
}
添加回答
舉報(bào)