A2つのオブジェクトがあり、どこにあるとしましょう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
それで、どうやってそれを回避しますか?