在 Java 中如何使用 Arrays.deepEquals 方法比较两个多维数组?

  • by

如果两个数组相等,则 deepEquals 方法返回 true,equals 方法不适用于多维数组,必须要用 deepEquals 方法来比较。下面给出使用 equals 和 deepEquals 方法比较两个多维数组的示例。

Integer[][] multiArray1 = {{1,2}, {2,3,4}};
Integer[][] multiArray2 = {{1,2}, {2,3,4}};
 
/*
 * The equals method does not work for the 
 * multidimensional arrays.
 * 
 * This will returns false even though both the
 * arrays are same.
 */
System.out.println("Arrays equal? " + Arrays.equals(multiArray1, multiArray2) );
 
/*
 * To compare two multidimensional arrays, use the
 * deepEquals method
 */
System.out.println("Arrays equal? " + Arrays.deepEquals(multiArray1, multiArray2) );

输出:

Arrays equal? false
Arrays equal? true

equals 和 deepEquals 方法之间有什么区别? equals 方法不适用于多维数组,而 deepEquals 方法适用于任意维数的数组。

相关代码示例:
Java Arrays 类教程及代码示例

标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注