javaのequalsメソッドはオブジェクトが等しいかどうかを判定します。
Javaでは、equals()メソッドは主に、2 つのオブジェクトが等しいかどうかを比較するために使用されます。これはObjectクラスのメソッドであるため、すべてのJavaクラスで使用できます。
equals()メソッドは、
- equals()メソッドでは、2つのオブジェクトの内容が同じかどうかを比較し、結果に応じてtrueかfalseを返します。
- 2 つのオブジェクトがあるメモリを参照しているかどうかを判定する。2つのオブジェクトが同じメモリを参照している場合は、必ず等しい。 equals()メソッドはまず2つのオブジェクトが同じメモリを参照しているかどうかを判定する。同じメモリを参照していれば、すぐに true を返す。そうでなければ、コンテンツを比較する。
- equalsメソッドのオーバーライド:独自のクラスで、2つのオブジェクトの内容が等しいかどうかを比較したい場合は、equalsメソッドをオーバーライドする必要があります。デフォルトでは、equalsメソッドはObjectクラスのequalsメソッドを呼び出しますが、これでは2つのオブジェクトのメモリアドレスのみが比較されます。
注意が必要なのは、equals()メソッドは、以下の条件を満たす必要があることだ。
- 自己自身に等しいこと。すべての空でない参照xに対してx.equals(x)はtrueを返す必要がある。
- 対象性:任意の非ゼロの参照x、yについてx.equals(y)がtrueを返す場合、y.equals(x)もtrueを返す必要がある。
- 推移性:任意非空参照x, y, z如果有x.equals(y)返回true,且y.equals(z)也返回true,则x.equals(z)也应返回true。
- 内容に変更がない場合、どんな非空リファレンスx、yにおいても、x.equas(y)を複数回呼び出しても同じ結果を返す必要があります。
- null 以外のあらゆる参照 x に対して、x.equals(null) は false を返します。