2014-12-30 49 views
1

我已經在eclipse寫的代碼:Object的相等(對象referece 「==」)

String[] s = {"a","b"}; String d = "a";System.out.println(s[0]==d);

和它給 「真」 作爲輸出。

「==」檢查對象引用,如果兩個對象都引用同一個對象,但在這種情況下,對象「d」指向不同的對象和「s [0]」不同,那麼它們如何相等。

+0

請求之前做一些家務。 – SMA

+0

@almasshaikh正在尋找答案沒有評論。 –

+0

答案在於評論。如果你可以用google搜索,你會得到上面的鏈接,這就是爲什麼你的問題被標記爲重複。 – SMA

回答

0

"a"將在JVM使用的字符串池中創建。

作爲優化,只有該字符串的一個實例將被創建。 Java可以做到這一點,因爲字符串是不可變的。這就是爲什麼引用引用相同的底層對象,所以在這個特定的實例中,引用比較相等。