我創建了類A
。然後我創建了兩個類A
的對象。對象的等於方法
A a1=new A(5);
A a2=new A(5);
然後,如果我嘗試使用equals
方法來比較的對象,其返回false
。
if (a1.equals(a2)) // ->false
在相同的情況下,如果我使用的包裝類像
Integer i1=new Integer(5);
Integer i2=new Interger(5);
if (i1.equals(i2)) // ->returns true
爲什麼?誰能解釋一下?
我建議還注意到,忽略equals時,重寫hashCode以確保兩個相等的對象具有相同的哈希碼是非常重要的。 –