Java-Objects类-deepEquals()和equals()详解


参考文档: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);
    }

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM