在以下代碼段中創建了多少個不同的String
對象實例?計數不同的字符串對象實例
String s1 = new String("hello");
String s2 = "GoodBye";
String s3 = s1;
不確定我在這裏的所有推理。
通過使用從String
類創建實例的關鍵字new
,我猜測這必須是一個對象。然而,我很困惑,現在new
現在被認爲是一種方法,因爲它有(),然後它正在調用一個String
文字「hello」在String
之後呢?
String s2 = "Goodbye";
我認爲這是一個字符串字面值,並且由於字符串實際上是對象,所以即使字符串字面量被視爲對象。 不是100%確定是否屬實。
String s3 = s1;
只是指向s1。因此,這並不明顯。
所以我的答案是2個不同的對象。
請說明我是對還是錯。
@YassinHajaj難道不是3個對象?兩個在字符串池中(文字),另一個由構造函數創建。 –
@YassinHajaj *「一個在字符串池中」*以及哪一個?由於他有兩個文字必須有人來決定。 – Tom
可能重複[有多少個對象用new操作符創建?](http://stackoverflow.com/questions/6633852/how-many-object-creates-with-new-operator) – Tom