deepEquals と equals は Java の Arrays クラスの 2 つの静的メソッドですが、それらの違いは何ですか?
コード 1、
import java.util.Arrays;public class Test { public static void main(String[] args) { String[][] name1 = {{ "G","a","o" },{ "H","u","a","n"},{ "j","i","e"}}; String[][] name2 = {{ "G","a","o" },{ "H","u","a","n"},{ "j","i","e"}}; System.out.println(Arrays.equals(name1, name2)); // false System.out.println(Arrays.deepEquals(name1, name2));// true }}
コード 2、
import java.util.Arrays;public class Test { public static void main(String[] args) { String[] name1 = {"G","a","o","H","u","a","n","j","i","e"}; String[] name2 = {"G","a","o","H","u","a","n","j","i","e"}; System.out.println(Arrays.equals(name1, name2)); // true System.out.println(Arrays.deepEquals(name1, name2)); // true }}
概要:
1. deepEquals を使用するかどうかを決定します。指定された 2 つの配列が互いに深く等しい場合、このメソッドは任意の深さのネストされた配列に適しています。
2. Equals は、2 つの配列が同じ順序で同じ要素を含んでいる場合は true を返し、それ以外の場合は false を返します。
3. 「コード 1」と「コード 2」を比較すると、結論を導き出すことができます。2 つの配列が true を返すために等しい場合は、deepEquals を使用して true を返します。これは、比較される両方の配列が等しいことを意味します。 1 次元配列であるため、equals と deepEquals の比較結果に違いはありません。
4 より多くの配列を比較したい場合は、 deepEquals メソッドを使用する必要があります。
Java のその他の配列 クラスの 2 つのメソッド: deepEquals と equals 関連記事については、PHP 中国語 Web サイトに注目してください。