@Override public int hashCode() { int result = 0; if (PairEqualsMode.BOTH.equals(equalsMode) || PairEqualsMode.K1.equals(equalsMode)) { result = k1 != null ? k1.hashCode() : 0; } if (PairEqualsMode.BOTH.equals(equalsMode) || PairEqualsMode.K2.equals(equalsMode)) { result = 31 * result + (k2 != null ? k2.hashCode() : 0); } return result; }
@Override public boolean equals(final Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } final Pair<?, ?> pair = (Pair<?, ?>) o; if (PairEqualsMode.BOTH.equals(equalsMode) || PairEqualsMode.K1.equals(equalsMode)) { if (k1 != null ? !k1.equals(pair.k1) : pair.k1 != null) { return false; } } if (PairEqualsMode.BOTH.equals(equalsMode) || PairEqualsMode.K2.equals(equalsMode)) { if (k2 != null ? !k2.equals(pair.k2) : pair.k2 != null) { return false; } } return true; }