Javaの「==」演算子とequalsメソッドの違いは何ですか?

王林
リリース: 2020-07-04 16:37:30
転載
2539 人が閲覧しました

Javaの「==」演算子とequalsメソッドの違いは何ですか?

違いは次のとおりです:

(推奨学習: Java 入門プログラム )

==演算子は特別に使用されます2 つの変数の値が同じかどうかを比較する、つまり、変数に対応するメモリに格納されている値が同じであるかどうかを比較するために使用されます。2 つの基本タイプのデータ、または 2 つの参照変数を比較するために使用されます。が等しい場合は、== 演算子のみを使用できます。

equals メソッドは、2 つの本が同じかどうかを比較するのと同じように、2 つの独立したオブジェクトの内容が同じかどうかを比較するために使用されます。比較する 2 つのオブジェクトは独立しています。

例:

String a = new String("AA");
String b = new String("AA");
System.out.println(a==b);
System.out.println(a.equals(b));
ログイン後にコピー

2 つの新しいステートメントは 2 つのオブジェクトを作成し、次に 2 つの変数 a と b を使用してそれぞれオブジェクトの 1 つを指します。これらは 2 つの異なるオブジェクトです。は異なります。つまり、a と b に格納されている値が異なるため、式 a==b は false を返します。2 つのオブジェクトの内容は同じであるため、a,equals(b) は true を返します。

(ビデオ チュートリアルの推奨: java ビデオ チュートリアル )

注: 文字列比較では、基本的に、equals メソッドが使用されます。

クラスに独自に定義されたequalsメソッドがない場合、そのクラスはObjectクラスのequalsメソッドを継承します。Objectクラスの実装コードは次のとおりです:

boolean equals(Object o)
{
return this==o;
}
ログイン後にコピー

これは、クラスがそうでない場合を意味します。 自己定義のequalsメソッド、デフォルトのequalsメソッドは、==演算子を使用すること、つまり、2つの変数が指すオブジェクトを同じオブジェクトと比較することと同等です。このとき、イコールと == を使用してください。

も同じ結果が得られます。 ! 2 つのインスタンス オブジェクトの内容が同じかどうかを比較できるクラスを作成したい場合は、equals メソッドをオーバーライドする必要があります。

以上がJavaの「==」演算子とequalsメソッドの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!