Listing 3: Josh Bloch, Effective Java, Item 7 and Item 8

public final class PhoneNumber {
  private final short areaCode;
  private final short exchange;
  private final short extension;
  ...
  public boolean equals(Object o) {
    if (o==this)
       return true;
    if (!(o instanceof PhoneNumber))
       return false;
    PhoneNumber pn = (PhoneNumber)o;
    return pn.extensions == extension &&
           pn.exchange   == exchange  &&
           pn.areaCode   == areaCode;
  }
  ...
}
— End of Listing —