equals
オブジェクトのメソッドをオーバーライドすることがobj
できるnull
場合、その場合はどのような状況ですか?
@Override
public boolean equals(Object obj) {
equals
オブジェクトのメソッドをオーバーライドすることがobj
できるnull
場合、その場合はどのような状況ですか?
@Override
public boolean equals(Object obj) {
はい、equals()
処理する必要がnull
あります。その場合、次false
のドキュメントに記載されているように返されますObject.equals()
。
null 以外の参照値の場合
x
、x.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
。
パブリックメソッドです。呼び出し元が null 値を渡すたびに null になる可能性があります。そのケースを適切に処理する必要があります。