ホームページ > Java > &#&チュートリアル > Java 配列:equals() と Arrays.equals() – いつどちらを使用するか?

Java 配列:equals() と Arrays.equals() – いつどちらを使用するか?

DDD
リリース: 2024-12-22 08:49:44
オリジナル
197 人が閲覧しました

Java Arrays: equals() vs. Arrays.equals() – When to Use Which?

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 を返します。

使用例

  • リファレンス比較: 2 つの配列が同じオブジェクトであるかどうかを判断するには、equals を使用します。 Memory.
  • 内容の比較: 同じオブジェクトであるかどうかに関係なく、Arrays.equals を使用して 2 つの配列の内容を比較します。

追加の考慮事項

  • プリミティブ型の配列オブジェクトの配列とは動作が異なります。プリミティブ配列の場合、equals と Arrays.equals は同じ内容の比較を実行します。
  • array.toString() を直接使用すると、目的の出力が得られない可能性があります。代わりに、配列の内容を包括的に表現するには Arrays.toString(array) を使用してください。

以上がJava 配列:equals() と Arrays.equals() – いつどちらを使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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