2016-11-13 54 views
-3

我知道要在Java中創建一個唯一的對象,我必須實現hashcode()equals()方法。爲什麼Java中有兩個對象不同?

但是當我們從一個類創建兩個對象時,爲什麼這兩個對象會有所不同?

public class ClassA { 

    public static void main(String []arg) { 

     ClassA classa = new ClassA(); 
     ClassA classb = new ClassA(); 

     //here classa and classb are not equal. Why? 
     if(classa == classb) //returns false 

    }  
} 
+0

因爲'new'會創建一個...新對象。 – Maroun

+0

將它們與「equals()」方法進行比較。 –

+0

@Maroun不,我想知道爲什麼。如果我們創建相同的類兩個對象爲什麼? –

回答

1

==運算符檢查對象的內存地址。 classaclassb是不同的對象,它們具有不同的內存地址,因此classa==classb返回false。

相關問題