java.util.Arrays.deepEquals(Object[] a1, Object[] a2) 如果兩個指定陣列是深層相等的,另一種方法將返回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 -- 這是要測試相等的陣列。
a2 -- 這是另一個進行測試相等的陣列。
如果兩個陣列相等,此方法返回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[] { '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