Чтобы избежать исключения нулевого указателя в моем equals()
, я должен рассмотреть возможность одного или нескольких нулей.
Существует ли масштабируемый способ для рассмотрения нулей?Следующий код станет довольно уродливым, если я добавлю больше параметров типа.
public boolean equals(Pair<T, U> p) {
boolean firstIsEqual, secondIsEqual;
if (p.getFirst()==null) {
firstIsEqual = first == null;
}
else {
firstIsEqual = (first!=null) && (first.equals(p.getFirst()));
}
// copy-paste...
if (p.getSecond()==null) {
secondIsEqual = second == null;
}
else {
secondIsEqual = (second!=null) && (second.equals(p.getSecond()));
}
return (firstIsEqual && secondIsEqual);
}