Java における Equals と Arrays.equals
Java で配列を扱う場合、equals メソッドと Arrays.equals メソッドの違いを理解する正確な配列を確保するために重要ですCompares.
array1.equals(array2)
この式は、2 つの配列の参照の同等性を比較します。つまり、array1 と array2 がその内容に関係なく、同じ配列オブジェクトであるかどうかをチェックします。この動作は予想どおりかもしれませんが、実際の値ではなく配列のメモリ アドレスを比較する、浅い比較を実行することに注意することが重要です。
Arrays.equals(array1, array2)
対照的に、Arrays.equals(array1, array2) は配列の詳細な比較を実行します。 コンテンツ。両方の配列の各要素を反復処理し、それらが等しいかどうかを比較します。このメソッドは、対応するすべての要素が等しい場合は true を返し、そうでない場合は false を返します。
たとえば、次の配列について考えてみましょう。
int[] array1 = {1, 2, 3}; int[] array2 = {1, 2, 3};
array1.equals(array2) を使用すると false が返されます。これらは異なる配列オブジェクトであるため、Arrays.equals(array1, array2) は同じものを持っているため true を返します。 content.
同様に、配列に適用された toString() メソッドは、目的の出力を提供しない可能性があります。次のコードを考えてみましょう:
int[] array3 = {4, 5, 6}; System.out.println(array3.toString());
これは、array3 のメモリ アドレスを表す「[I@1873311」を出力します。代わりに、Arrays.toString(array3) を使用すると、「[4, 5, 6]」が出力され、配列の内容のより有益な表現が提供されます。
equals、Arrays.equals、toString( ) は、Java での正確かつ効率的な配列処理に不可欠です。
以上がJava で配列を比較する場合、「equals()」と「Arrays.equals()」はどのように異なりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。