Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

equals/hashCode contract

Equal objects must have equal hash codes, and equals must be reflexive, symmetric, transitive, consistent and false for null.

java.lang.Object's contract requires equals to be an equivalence relation that returns false for null, and a.equals(b) to imply a.hashCode() == b.hashCode(); hash-based collections rely on it.

See also

Read the full section →