-1

equalsオブジェクトのメソッドをオーバーライドすることがobjできるnull場合、その場合はどのような状況ですか?

@Override
 public boolean equals(Object obj) {
4

2 に答える 2

6

はい、equals()処理する必要がnullあります。その場合、次falseのドキュメントに記載されているように返されますObject.equals()

null 以外の参照値の場合xx.equals(null)を返す必要がありfalseます。

もちろん、 if x is null x.equals(null)は返されませんtrueが、スローされNullPointerExceptionます。2 つの参照を比較する必要がある場合は、以下をnull参照してくださいObjects.equals(Object, Object)

Objects.equals(x, x);

trueであっても、上記は常にですx == null

于 2013-01-09T20:33:00.833 に答える
5

パブリックメソッドです。呼び出し元が null 値を渡すたびに null になる可能性があります。そのケースを適切に処理する必要があります。

于 2013-01-09T20:31:43.463 に答える