У меня есть адресный объект, для которого я хочу создать метод equals. Я мог бы сделать это довольно просто, сделав что-то вроде следующего (немного сокращенного):
public boolean equals(Object obj)
{
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Address other = (Address) obj;
return this.getStreet().equals(other.getStreet())
&& this.getStreetNumber().equals(other.getStreetNumber())
&& this.getStreetLetter().equals(other.getStreetLetter())
&& this.getTown().equals(other.getTown());
}
Проблема в том, что некоторые из них могут быть нулевыми. Другими словами, я получу NullPointerException
, если в этом адресе нет уличного письма.
Как мне написать это чисто, учитывая нулевые значения?