「.equals」と「==」の違いを理解する
Java では、「.equals」と「=」を使用します。 = 両者の違いや優位性についての疑問を引き起こします。 ".equals."
".equals" と "=="
"== の違いは参照比較を行い、2 つの変数が同一のものを参照しているかどうかを確認します。物体。プリミティブ型 (整数など) の場合、「==」は値を比較しますが、オブジェクト (文字列など) の場合は参照を同等とします。
一方、「.equals」は定義されたメソッドです。オブジェクトクラスで。これをオーバーライドして、カスタマイズされた等価性チェックを有効にすることができます。デフォルトでは、「.equals」はオブジェクトの状態 (属性など) を比較します。
「.equals」の利点
「.equals」の主な利点は次のとおりです。これにより、個別の参照を持つオブジェクトが等しいとみなされるようになります。これは、内容は同等だが構造が異なるオブジェクトを比較する場合に特に便利です。
たとえば、次のコードを考えてみましょう。
String x = "hello"; String y = new String(new char[] { 'h', 'e', 'l', 'l', 'o' }); System.out.println(x == y); // false System.out.println(x.equals(y)); // true
「x」と「y」は異なるオブジェクトですが、それらは異なります。文字列という点では等しいです。 「.equals」はこの等価性を認識しますが、「==」は認識しません。
さらに、「.equals」はカスタムの等価性ロジックを有効にすることで堅牢性を高めます。開発者は、特定の比較要件を満たすように「.equals」の動作を調整できます。
結論
「.equals」と「==」の区別を理解することが重要です。 Java での効果的なオブジェクト比較のために。 「.equals」は優れた柔軟性とカスタマイズ オプションを提供し、単なる参照の同等性ではなく、オブジェクトの状態に基づいた比較を可能にします。
以上がJava の等価性: `.equals()` と `==` をいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。