参考文档:1.  JDK 源码

2.  Objects类下面的deepEquals()方法

3.  Java-Arrays类-deepEquals()和equals()详解

感谢原作者

 

背景:object[] 数组使用没有特定是类标示数组, 没有办法重写数组的equals方法。所以要解决数组比较的场景。

解决方式:

1  java.util.Objects#deepEquals 参数是 Object

对: 数组(java.util.Arrays#deepEquals0)和 其他类型 (e1.equals(e2))的封装。

2.  java.util.Arrays#deepEquals0 参数是Object[]

是对基本型数组(基本类型 都有具体实现) 和 封装型数组 (java.util.Arrays#deepEquals) 的封装

3   java.util.Arrays#deepEquals 参数是 Object[]

 

public static boolean deepEquals(Object a, Object b) {
        if (a == b)
            return true;
        else if (a == null || b == null)
            return false;
        else
            return Arrays.deepEquals0(a, b);
    }

  

相关文章:

  • 2021-10-23
  • 2021-11-28
  • 2021-11-17
  • 2022-12-23
  • 2021-07-29
  • 2022-01-30
  • 2022-12-23
  • 2021-11-25
猜你喜欢
  • 2022-12-23
  • 2021-10-30
  • 2021-09-01
  • 2021-07-19
  • 2021-07-02
  • 2022-12-23
  • 2021-08-13
相关资源
相似解决方案