2014-12-18 39 views
0
String a = "Hello"; 
String b = new String("Hello World"); 

有人可以告訴我有多少個對象被創建和詳細說明。Java中的字符串和對象

謝謝。

+0

我很確定這個問題已經在這裏問過幾次了。 –

回答

0

String greeting = "Hello world!";
在這種情況下,「世界,你好!」是一個 字符串文字 - 您的代碼中包含在 雙引號中的一系列字符。只要遇到代碼中的字符串文字, 編譯器會創建一個String對象及其值 - 在此例中爲 Hello world!

String a = "Hello"; // 1 object 
String b = new String("Hello World"); 
// 1 object with new String(), 
// 1 object with "Hello World" 

共創建3個objecs。

+0

不止有3個對象:String pool(1個對象),'String.class'(1個對象),每個'String'的後備'char []'(因爲Java中的數組是一個對象,對象)和... –