equalsメソッドを
- Objectクラスの定義はあります。
- パブリックブールのequals(オブジェクトobj)方法
- 定義オブジェクトを提供するロジック「に等しいです」
- XおよびYは、アプリケーション・リターンがtrueまたはfalseさもなければ同じオブジェクトであるx.equals(Y):オブジェクトのメソッドは次のように定義されているに等しいです
- J2SDKクラスはオーバーライド、オブジェクトのメソッドと等しいオブジェクトが同じタイプで参照されたときにメソッド呼び出しこれらのクラスについて、x.equals(y)は、x及びyに等しく、コンテンツの属性が同じである、などの文字列、日付、のように、提供しました場合(必ずしも同じオブジェクトの)真または偽を返し、さもなければ
- 必要に応じてメソッドがユーザー定義型でオーバーライドすることができます等しいです。
- パブリックブールのequals(オブジェクトobj)方法
例:
パッケージcom.nyist。 パブリック クラスTestEquals { 公共 静的 ボイドメイン(文字列[]引数){ 猫C1 = 新しい猫(1,2,3 )。 猫C2 = 新しい猫(1,2,3 ); System.out.println(C == C2)。
System.out.println(c1.equals(C2))。
} } クラス猫{ int型カラー。 int型身長、体重、 パブリックキャット(int型の色、INT高さ、int型の重量){ この .color = 色。 この .height = 高さ; この .weight = 重量; } }
結果:
偽
偽
equalsメソッドと==のデフォルトの実装では、比較がすべて同じ符号であるかどうか、同じです。
書き換えのみで二つのオブジェクトの本質は同じであるかどうかを比較達成することができます。
例:
パッケージcom.nyist。 パブリック クラスTestEquals { 公共 静的 ボイドメイン(文字列[]引数){ 猫C1 = 新しい猫(1,2,3 )。 猫C2 = 新しい猫(1,2,3 ); System.out.println(c1.equals(C2))。 } } クラス猫{ int型カラー。 int型身長、体重、 パブリックキャット(int型の色、INT高さ、int型の重量){ この .color = 色。 この.height = 高; この .weight = 重量; } パブリック ブール等しい(オブジェクトobj){ 場合(OBJ == NULL ) 戻り 偽。 他{ 場合(OBJ のinstanceof CAT){ 猫C = (CAT)OBJ。 もし(c.color == この .color && c.height == この .height && c.weight == この.weight) を返す 真。 } } リターン 偽。 } }
結果:
真