equals メソッドは、Java オブジェクトの値が等しいかどうかを比較します。その動作原理には次のものが含まれます: (1) オブジェクトが同じメモリ位置にあるかどうかを判断する参照比較、(2) オブジェクトの型が同じかどうかを確認するクラス比較、(3) フィールド値を 1 つずつ比較する。 1つ。カスタム オブジェクトを正しく比較するには、反射率、対称性、推移性、一貫性、および null 値の処理のガイドラインに従って、equals メソッドをオーバーライドする必要があります。 equals メソッドはオブジェクト参照のみを比較するのに対し、equals メソッドはオブジェクトの実際の値を比較するという点で == 演算子とは異なります。
Javaにおけるequalsの意味
equalsは、2つのオブジェクトが等しいかどうかを比較するために使用されるJavaのメソッドです。これは、2 つのオブジェクトが同じ値を持つかどうかを判断するために使用される、Object
クラスからオーバーライドされるインスタンス メソッドです。 Object
类的实例方法,用于确定两个对象是否具有相同的值。
equals 方法的工作原理
当调用 equals
方法时,它会执行以下步骤:
equals
方法会检查它们是否是同一类。如果不是,则对象不相等。equals
方法会比较它们的字段。它会逐个比较字段值,如果所有字段值都相等,则对象相等。重写 equals 方法
为了使自定义对象能够正确比较,需要重写 equals
方法。重写时应遵循以下准则:
a.equals(b)
为 true
,则 b.equals(a)
也应该为 true
。a.equals(b)
为 true
,并且 b.equals(c)
为 true
,则 a.equals(c)
也应该为 true
。equals
方法在每次调用时都应返回相同的结果。equals
方法应正确处理空值。equals 和 == 的区别
==
运算符用于比较两个对象的引用是否相等,而 equals
方法用于比较两个对象的实际值是否相等。对于基本类型(如 int
或 double
),==
和 equals
运算符的行为相同。但是,对于对象类型(如 String
或 Date
),==
仅比较对象引用,而 equals
equals
メソッドが呼び出されると、次の手順が実行されます: 🎜equals
メソッドはそれらが同じクラスであるかどうかを確認します。そうでない場合、オブジェクトは等しくありません。 equals
メソッドはそれらのフィールドを比較します。フィールド値を 1 つずつ比較し、すべてのフィールド値が等しい場合、オブジェクトは等しいと見なされます。 equals
メソッドをオーバーライドする必要があります。オーバーライドするときは、次のガイドラインに従う必要があります: 🎜a.equals(b)
が true
の場合、b.equals(a)
は次のようにする必要があります。 true
にすることもできます。 a.equals(b)
が true
であり、b.equals(c)
がtrue
の場合、a.equals(c)
も true
である必要があります。 equals
メソッドは呼び出されるたびに同じ結果を返す必要があります。 equals
メソッドが null 値を正しく処理する必要があります。 ==
演算子の違いは、2 つのオブジェクトの参照が等しいかどうかを比較するために使用されますが、equals code> このメソッドは、2 つのオブジェクトの実際の値が等しいかどうかを比較するために使用されます。プリミティブ型 (<code>int
や double
など) の場合、==
演算子と equals
演算子は同じように動作します。ただし、オブジェクト型 (String
や Date
など) の場合、==
はオブジェクト参照のみを比較しますが、equals
は比較します。 > メソッド 比較オブジェクトの値。 🎜以上がJavaで等しいとはどういう意味ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。