java.util.Arrays.deepEquals(Object[] a1, Object[] a2)%uA0如果两个指定数组是深层相等的,另一种方法将返回true。两个数组引用被认为是深层相等的,如果都为null,或者如果它们是指含有相同的元素数量的数组,并在两个数组元素的所有相应的对是深层相等。
两个可能为null元素e1和e2是深层相等如有下列条件成立:
-
e1和e2都是对象引用类型的数组,并且Arrays.deepEquals(e1, e2)将返回true。
-
e1和e2都是相同基本类型的数组,并Arrays.equals(e1,e2)适当重载将返回true。
-
e1 == e2
-
e1.equals(e2) 将返回 true.
声明
以下是java.util.Arrays.deepEquals()方法的声明
public static boolean deepEquals(Object[] a1, Object[] a2)
参数
-
a1%uA0-- 这是要测试相等的数组。
-
a2%uA0-- 这是另一个进行测试相等的数组。
返回值
如果两个数组相等,此方法返回true,否则返回false。
异常
-
NA
例子
下面的例子显示java.util.Arrays.deepEquals()方法的用法。
package com.yiibai import java.util.Arrays public class ArrayDemo { public static void main(String[] args) { // initializing Object array1 Object[] b1 = new Object[] { &aposa&apos, &aposb&apos } // let us print all the values available in array2 System.out.println("Elements of Array1 is:") for (Object value : b1) { System.out.println("Value = " + value) } // initializing Object array2 Object[] b2 = new Object[] { &aposa&apos, &aposb&apos } // let us print all the values available in array2 System.out.println("Elements of Array2 is:") for (Object value : b2) { System.out.println("Value = " + value) } // initializing Object array3 Object[] b3 = new Object[] { &aposx&apos, &aposy&apos } // let us print all the values available in array3 System.out.println("Elements of Array3 is:") for (Object value : b3) { System.out.println("Value = " + value) } // checking array1 and array2 for equality System.out.println("Array1 and Array2 are equal:" + Arrays.deepEquals(b1,b2)) // checking array1 and array3 for equality System.out.println("Array1 and Array3 are equal:" + Arrays.deepEquals(b1,b3)) } }
让我们来编译和运行上面的程序,这将产生以下结果:
Elements of Array1 is: Value = a Value = b Elements of Array2 is: Value = a Value = b Elements of Array3 is: Value = x Value = y Array1 and Array2 are equal:true Array1 and Array3 are equal:false