QUOTE(bhandari @ 20 Feb, 2008 - 04:35 PM)

If equals() returns true then hashcode comparison should also return true.
If equals() returns false then hashcode comparison may return true or false.
If hashcode comparison returns true then equals() may or may not return true.
If hashcode comparison returns false then equals() must return false.
I am unable to understand why the fourth is must staement. Any ideas?
can not help you till you post the code.
Well I think it's bit obvious statement but it's there to show the vice versa situation.
2nd and 3rd statements shows that vice versa may or may not true, so 4th statement is there to tell that vice versa statements are always false.
I mean this is the first thought I had on this. There might be some other logic also.