Javaにおけるequals()メソッドの役割は何か?

Javaでのequals()メソッドは、2つのオブジェクトが等しいかどうかを比較するために使われるメソッドで、Objectクラスのメソッドです。Javaの全てのクラスはObjectクラスを継承しているので、equals()メソッドを使用することができます。

默认情况下,equals()方法比较的是两个对象的引用是否相等,即两个对象是否指向内存中的同一地址。但是,很多时候我们希望比较的是对象的内容而不是引用,这时我们可以重写equals()方法。

重写equals()方法时,一般需要满足以下几个条件:

  1. 対称性:a.equals(b)がtrueなら、b.equals(a)も必ずtrueである。
  2. 自省性:null以外のどのような参照値xに対しても、x.equals(x)はtrueでなければならない。
  3. 传递性:如果a.equals(b)为true,且b.equals©为true,则a.equals©也必须为true。
  4. 一貫性: オブジェクトが変化していなければ、a.equals(b)を何回呼び出しても同じ結果が返される。
  5. どのような非null参照値xに対しても、x.equals(null) は必ずfalseを返さなければならない。

重写equals()方法后,我们可以根据自己的需求来比较两个对象的内容是否相等。一般比较的是对象的属性值是否相等,可以使用属性值来判断两个对象是否相等。

equals()メソッドをオーバーライドする場合、Javaの規約に従い、hashCode()メソッドも一緒にオーバーライドする必要があります。2つのオブジェクトが等しい場合、それらのhashCode()メソッドは同じ値を返す必要があります。

bannerAds