Codevity
equals() and hashCode(): The Contract and Why It Matters | Codevity