~/ learn/ comp-308/ cards/ The equals() & hashCode() contract
1 of 5

Override equals(Object) for a value class

Override equals(Object) for a value class

Answer

@Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Pair)) return false; Pair p = (Pair) o; return value == p.value && Objects.equals(key, p.key); }

Note the parameter is Object (so it overrides, not overloads). The instanceof check both rejects nulls and wrong types before the cast. Objects.equals(key, p.key) compares strings null-safely; the primitive int uses ==.

space flip · ← → navigate · esc to exit
NORMAL ~/memra/library/f18ed4fa-9592-4f37-9968-d0069ddd3033/flashcard utf-8 LF