equals 与 Arrays.equals:Java 中数组比较方法的比较
在 Java 中,比较数组可能是一项简单的任务。但是,使用 equals 方法和 Arrays.equals 方法之间存在细微差别,这可能会导致意外结果。
equals 与 Arrays.equals
equals方法继承自Object类,用于比较对象的引用。当应用于数组时,当且仅当 array1 和 array2 是同一个数组,即它们共享相同的内存位置时,array1.equals(array2) 才会返回 true。
另一方面,Arrays.equals (array1, array2) 专门比较数组的内容。如果数组长度相同并且每个索引处的相应元素相等,则返回 true。
示例:
考虑以下代码:
Object[] array1 = {1, 2, 3}; Object[] array2 = {1, 2, 3}; System.out.println(array1.equals(array2)); // false System.out.println(Arrays.equals(array1, array2)); // true
在这种情况下,array1 和 array2 是具有相同内容的不同数组。因此,array1.equals(array2) 返回 false,而 Arrays.equals(array1, array2) 返回 true。
用例
其他注意事项
以上是Java 数组:equals() 与 Arrays.equals() – 何时使用哪个?的详细内容。更多信息请关注PHP中文网其他相关文章!