Javaにおけるequals()メソッドのnullポインタ問題を解決する方法は何ですか?
Javaでequals()メソッドを呼び出す際に、通常nullが渡されることが原因でNullPointerExceptionが発生します。この問題を解決するためには、equals()メソッドを呼び出す前に渡されたパラメータがnullでないかを確認することができます。NullPointerExceptionを避けるためには、次の方法を使用できます:
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
// 进行其他比较逻辑
return true;
}
上記の例では、まず渡されたobjがnullかどうかを確認し、nullであれば直ちにfalseを返します。これによりnullポインターエラーを回避できます。その後、他の比較ロジックを実行して、equals()メソッドが正しいことを確認します。