static boolean deepEquals(Object[] a1, Object[] a2)
描述 (Description)
如果两个指定的数组彼此深度相等,则java.util.Arrays.deepEquals(Object[] a1, Object[] a2)方法返回true。如果两个数组引用都为null,或者它们引用,则认为两个数组引用非常相等对于包含相同数量元素的数组,两个数组中所有对应的元素对都非常相等。
如果满足以下任何条件,则两个可能为空的元素e1和e2非常相等 -
e1和e2都是对象引用类型的数组,而Arrays.deepEquals(e1,e2)将返回true
e1和e2是相同原始类型(Primitive)的数组,并且Arrays.equals(e1,e2)的适当重载将返回true。
e1 == e2
e1.equals(e2)将返回true。
声明 (Declaration)
以下是java.util.Arrays.deepEquals()方法的声明
public static boolean deepEquals(Object[] a1, Object[] a2)
参数 (Parameters)
a1 - 这是要测试相等性的数组。
a2 - 这是要测试相等性的另一个数组。
返回值 (Return Value)
如果两个数组相等,则此方法返回true,否则返回false。
异常 (Exception)
NA
例子 (Example)
以下示例显示了java.util.Arrays.deepEquals()方法的用法。
package com.iowiki;
import java.util.Arrays;
public class ArrayDemo {
public static void main(String[] args) {
// initializing Object array1
Object[] b1 = new Object[] { 'a', 'b' };
// 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[] { 'a', 'b' };
// 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[] { 'x', 'y' };
// 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