Metoda hashCode

Jakmile u třídy překryjeme metodu equals, měli bychom současně překrýt objektů i metodu hashCode:

  • hashCode vrací celé číslo (int) „co nejlépe“ charakterizující obsah objektu, tj.

  • pro dva stejné (equals) objekty musí vždy vrátit stejnou hodnotu.

  • Pro dva obsahově různé objekty by hashCode naopak měl vracet různé hodnoty (ale není to stoprocentně nezbytné a ani nemůže být vždy splněno). Metoda hashCode totiž nemůže vždy být prostá.