ホームページ >Java >&#&チュートリアル >Java の .equals() と ==: それぞれをいつ使用する必要がありますか?
.equals と ==: より深いダイブ
Java では、「.equals」と「==」の区別は次のとおりです。よく誤解されます。これらの演算子の違いを調べて、それぞれをいつ使用するべきかを理解しましょう。
「=="
」== の使用は等価演算子であり、比較します。 2 つのオブジェクトの参照。プリミティブ データ型 (int、double など) の場合、「==」は値が等しいかどうかをチェックします。ただし、非プリミティブ型 (オブジェクトなど) の場合、「==」は両方のオブジェクトが同じメモリ位置を指しているかどうかを比較します。
".equals" を使用する
「.equals」は「Object」クラスで定義されたメソッドで、2 つのオブジェクトの内容を比較する一般的な方法を提供します。デフォルトでは、「.equals」はオブジェクトの値を比較し、サブクラスでのカスタム実装を可能にします。
「.equals」が優れている理由
while "== " はプリミティブ データ型には十分ですが、オブジェクトを扱うときに誤解を招く可能性があります。例:
コード:
Integer a = new Integer(10); Integer b = new Integer(10); if (a == b) { System.out.println("They are the same"); } if (a.equals(b)) { System.out.println("They are equal"); }
出力:
They are not the same They are equal
この例では、「==」 「a」と「b」はメモリ位置が異なる別のオブジェクトであるため、「false」が返されます。ただし、「.equals」は同じ値を表すため「true」を返します。
ベスト プラクティス
一般的なルールとして、常に「.equals」を使用することをお勧めします。 " オブジェクトの場合、プリミティブ データ型であっても。これにより、一貫した動作が保証され、潜在的なバグが回避されます。以下にいくつかのガイドラインを示します:
以上がJava の .equals() と ==: それぞれをいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。