Design Decisions Overview: equals General Contract 14 public boolean equals(Object obj): Implements an equivalence relation: It is reflexive o For any reference value x, x.equals(x) should return true It is symmetric o For any x and y, x.equals(y) == y.equals(x) It is transitive o For any x, y, z, if x.equals(y) and y.equals(z), then x.equals(z) It is consistent o For any x and y, x.equals(y) should return the same in every invocation if both remains inmutable For any non-null reference value x, x.equals(null) should return false Equal objects must have equal hash codes
{}