Objects.deepEquals方法的含义

问题描述 投票:15回答:2

问题是关于静态方法Objects.deepEquals类(自Java 7起:]]]

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);
}

如该方法的javadoc中所述:

如果参数彼此完全相等且返回false,则返回true否则。

我不了解:比较的[深度]在哪里?正如我们在其实现内部看到的那样,它只是引用比较,而在Arrays.deepEquals0(a, b)内部则调用了简单的ObjectObject参数只是:eq = e1.equals(e2);。那么,在什么意义上两个对象deeply

相等?问题是关于静态方法Objects.deepEquals类(从Java 7开始):public static boolean deepEquals(Object a,Object b){if(a == b)返回true;否则,如果(a == null || b == ...
java equals equality
2个回答
18
投票
如果传递了Array对象,则比较为

deep


© www.soinside.com 2019 - 2024. All rights reserved.