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.tutorialspoint;

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