Java:如何测试数组的相等性?

12 浏览
0 Comments

Java:如何测试数组的相等性?

为什么下面的代码会打印出 "Different."?

boolean[][] a = { {false,true}, {true,false} };
boolean[][] b = { {false,true}, {true,false} };
if (Arrays.equals(a, b) || a == b)
    System.out.println("Equal.");
else
    System.out.println("Different.");

答案是因为虽然二维数组 `a` 和 `b` 的内容是相同的,但它们是不同的对象。`Arrays.equals(a, b)` 方法只比较数组的内容,而不比较数组的引用。因此,`Arrays.equals(a, b)` 返回 `false`,所以最终会打印出 "Different."。

0