Welcome to the Ranch both of you. Nice catch about the precedences.
You cannot expect == to return true when you have the same hashCodes. The hash code does not give you the memory location of the object. And objects which have different memory locations but return true from equals() must return the same hash code.
Try this:-You should get false true.
Try this, too.