A
2つのオブジェクトがあり、どこにあるとしましょうB
。
Object A=new Object();
Object B=A;
これらのオブジェクトには、デフォルトでそれぞれ2つのintがあります:int X
とint Y
。まず、との両方A
でB
、
(X == 0) && (Y == 0)
したがって、Javaと同様に、これら2つは等しいと言えます。A.X
さて、次のように変更するとしましょうA.X=2
。今、A
そしてB
それ以来もはや等しくない
A.X==2
..しかし..
B.X==0
ただし、Javaは依然として同等であると言っています。
(A.equals(B)) == true
(B.equals(A)) == true
それで、どうやってそれを回避しますか?