Java.util.Arrays.deepEquals()方法實例
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