equals と Arrays.equals: Java の配列比較メソッドの比較
Java では、配列の比較は簡単な作業です。ただし、equals メソッドの使用と Arrays.equals メソッドの使用には微妙な違いがあり、予期しない結果が生じる可能性があります。
equals と Arrays.equals
equals メソッドは Object クラスから継承され、オブジェクトへの参照を比較するために使用されます。配列に適用すると、array1.equals(array2) は、array1 と array2 が同じ配列である場合、つまり同じメモリ位置を共有する場合にのみ true を返します。
一方、Arrays.equals (array1, array2) は、具体的には配列の内容を比較します。配列の長さが同じで、各インデックスの対応する要素が等しい場合、true を返します。
例:
次のコードを考えてみましょう:
Object[] array1 = {1, 2, 3}; Object[] array2 = {1, 2, 3}; System.out.println(array1.equals(array2)); // false System.out.println(Arrays.equals(array1, array2)); // true
この場合、array1 と array2 は同じ内容を持つ別個の配列です。したがって、array1.equals(array2) は false を返しますが、Arrays.equals(array1, array2) は true を返します。
使用例
追加の考慮事項
以上がJava 配列:equals() と Arrays.equals() – いつどちらを使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。