ホームページ > Java > &#&チュートリアル > Java 配列の比較: `equals()` と `Arrays.equals()` - 違いは何ですか?

Java 配列の比較: `equals()` と `Arrays.equals()` - 違いは何ですか?

Patricia Arquette
リリース: 2024-12-28 16:51:12
オリジナル
238 人が閲覧しました

Java Array Comparison:  `equals()` vs. `Arrays.equals()` - What's the Difference?

Java での配列の比較:equals と Arrays.equals

Java で配列オブジェクトを比較する場合、equals 間の微妙な違いを理解することが重要ですおよび Arrays.equals.

に等しい演算子

Java の等号演算子は、2 つの参照がメモリ内の同じオブジェクトを参照しているかどうかを比較します。配列に適用すると、2 つの配列参照が同じ配列インスタンスを指しているかどうかがチェックされることを意味します。

Object[] array1, array2;
array1.equals(array2);
ログイン後にコピー

この場合、array1 と array2 が同じ配列オブジェクトを参照している場合、結果は次のようになります。真実。それ以外の場合は false になります。

Arrays.equals メソッド

対照的に、Arrays.equals メソッドは 2 つの配列の内容を比較します。配列の要素数が同じかどうか、および対応する要素が等しいかどうかをチェックします。

Arrays.equals(array1, array2);
ログイン後にコピー

配列 1 と配列 2 の内容が同じ場合、結果は true になります。それ以外の場合は false になります。

主な違い

equals と Arrays.equals の主な違いは、equals は参照を比較するのに対し、Arrays.equals は比較することです。 content.

次の例を考えてみましょう:

Object[] array1 = new int[] { 1, 2, 3 };
Object[] array2 = new int[] { 1, 2, 3 };
ログイン後にコピー

この場合、array1 であるため、array1.equals(array2) は false になります。と array2 は 2 つの異なる配列オブジェクトです。ただし、配列の内容が同じであるため、Arrays.equals(array1, array2) は true になります。

Object[] array1 = new int[] { 1, 2, 3 };
Object[] array2 = array1;
ログイン後にコピー

この場合、array1.equals(array2) と Arrays.equals(array1, array2) array1 と array2 は同じ配列オブジェクトを参照するため、両方とも true になります。

以上がJava 配列の比較: `equals()` と `Arrays.equals()` - 違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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