Java:如何测试数组的相等性?
- 论坛
- Java:如何测试数组的相等性?
12 浏览
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."。