本文介紹了在Equals檢查中避免NullPointerException的干凈方法的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我有一個Address對象,我想為其創建一個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
。
如何在考慮空值的情況下以干凈的方式編寫此代碼?
推薦答案
您可以使用
這樣的幫助器方法
public static boolean isEqual(Object o1, Object o2) {
return o1 == o2 || (o1 != null && o1.equals(o2));
}
這篇關于在Equals檢查中避免NullPointerException的干凈方法的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,