... Effective Java: Programming Language Guide 33 A good hash function tends to produce unequal hash codes for unequal ... an odd prime. If it was even and the multiplication overflowed, information Effective Java: Programming Language Guide 34 would be lost because multiplication by two is equivalent to shifting. ... fact, a perfectly reasonable hashCode implementation for PhoneNumber, on a par with those in the Java platform libraries as of release 1.4. It is simple, is reasonably fast, and does a reasonable...