Hi Corey,

Thanks for reminding me of a basic fact, I seemed to have easily overlooked.

[Slap on the hand for myself]

Ok I'll tell you how far I got

So basically my object has 2 ints, a and b, and if the other object has the same 2 ints, they are equal. Order does not matter.

Ok so now my hashCode() needs to return the same int for both these objects.

Say Object1 has a=2 and b=5. And Object2 has a=5 and b=2.

(A)return 0; - will work, but bad choice.

(B)return a; - will not work, coz it will return 2 for Object1 and 5 for Object2

(C)return a+b; - will work. always returns the same result to both Objects.

(D)return a-b; - will not work because it would return -3 for Object1 and 2 for Object2.

(E)return a^b; - will work coz order won't matter.

(F)return a|b; - will work coz order won't matter.

So if I had to pick 3 I'd pick (C), (E) and (F) right?

Thanks Corey...do let me know if that's right.