ホームページ > Java > &#&チュートリアル > Java の等価性: `.equals()` と `==` をいつ使用する必要がありますか?

Java の等価性: `.equals()` と `==` をいつ使用する必要がありますか?

Linda Hamilton
リリース: 2024-12-16 11:49:18
オリジナル
570 人が閲覧しました

Java Equality: When Should I Use `.equals()` vs. `==`?

「.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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート