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