2016-11-13 12 views
-3

Javaでオブジェクトをユニークにするには、hashcode()equals()のメソッドを実装する必要があります。Javaでは2つのオブジェクトが異なるのはなぜですか?

しかし、クラスから2つのオブジェクトを作成すると、これら2つのオブジェクトが異なるのはなぜですか?

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いいえ理由を知りたいです。同じクラスの2つのオブジェクトを作成するとどうなるのですか? –

答えて

1

==演算子はオブジェクトのメモリアドレスをチェックします。 classaclassbは異なるオブジェクトで、メモリアドレスが異なるため、classa==classbはfalseを返します。

関連する問題