2015-05-13 51 views
0

當我創建這樣的代碼:String對象創建的連接結果

String s ="hello"; 
String s1= new String("bye"); 
String s3=s1.concat(s); 
String s4 = s.concat(s1); 

這裏s是文字,s1是堆。當我連接並創建一個新對象時,它將在哪裏創建(在堆或實習中?)

這裏有一個在池中,一個在堆中。

回答

0

String concat()將返回一個新的String對象不是文字。因此,它將是物體的存儲位置,正如你所說的那樣應該是heap

創建新對象是在文檔中指定

....一個新的String對象被創建,表示.......

1

如果你看到source一個字符序列concat()方法,你會看到它返回一個新字符串

return new String(0, count + otherLen, buf); 

所以字符串堆

創建