在Java中,當調用equals()方法時會出現空指針問題的原因通常是因為傳入的參數為null。為了解決這個問題,可以在調用equals()方法之前先判斷傳入的參數是否為null。可以使用以下方式來避免空指針問題:
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
// 進行其他比較邏輯
return true;
}
在上面的示例中,我們首先判斷傳入的obj是否為null,如果為null則直接返回false。這樣可以避免空指針問題。然后再進行其他的比較邏輯,確保equals()方法的正確性。