Quando fai l'override di equals() per definire l'uguaglianza logica, devi anche fare l'override di hashCode() — perché le collezioni basate su hash (HashMap, ) si basano sul contratto che . Violare questo porta a bug sottili e difficili da trovare.
