问题标签 [deepequals]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
15014 浏览

equality - 在 Java 7 的 equals() 和 deepEquals() 上

方法描述说:

如果参数彼此高度相等,则返回 true,否则返回 false...相等性是通过使用第一个参数的 equals 方法确定的。

这(对我而言)表明,如果使用 equals() 方法维护引用的每个对象也相等,则对象是高度相等的。他们引用的每个对象也是相等的。和 ..

所以 ..equality is determined by using the equals method of the first argument.

这与 有何不同.equals()?假设我们恰当地描述了equals,当对象等于另一个对象时,对象的每个字段也都等于它。

您能否提供一个示例来说明和之间的Objects.deepEquals()区别Objects.equals()

0 投票
1 回答
749 浏览

c# - LINQ & XNode.DeepEquals 运行比较两次?

我正在使用 LINQ 来比较两个 XML 文档。如果在两个元素之间发现差异,我会将这些节点添加到一个列表中,用于生成差异报告。

“问题”是,如果发现差异,则会将其添加到列表中两次。

例如,给定两个简单的 XML 文档:

预期的:

实际的:

并使用此代码比较节点并将它们添加到列表中(如果它们不同):

Node 类包含两个 XNode,一个用于预期,一个用于实际。

对于一个区别,这给了我 diffList 中的两个元素:

似乎 DeepEquals 先比较元素,然后比较值。我的问题是,我的代码中是否有任何内容可能导致重复,或者这是 DeepEquals 的一个我无能为力的功能?

我已经进行了测试,看看这是否总是发生,而且似乎是这样。所以一个后续问题是:我可以指望 XNode.DeepEquals 总是给我列表中每个差异的两个元素吗?确认这一点将允许我通过排除每个差异的第二个元素来继续工作,但显然我不能这样做,除非它总是存在。

0 投票
2 回答
906 浏览

java - equals / Arrays.deepequals 在相同的数组上返回 false

我正在尝试测试两个数组是否相同,我打印出其中的每个值,您可以看到这些值是相同的,但由于某种原因,相等性测试总是返回 false。我试过使用 equals 和 Arrays.deepEquals 但这两种方法都不起作用。

这是我的代码:

这是输出:

0 投票
1 回答
4206 浏览

javascript - 如何使用 should.js 进行 deepEqual 断言?

我尝试使用 should.js(最新版本)进行 deepEqual 断言,但没有取得任何成功。我可以使用equal但不能使用deepEqual. 事实上,我看到没有deepEqual方法。

这是我尝试过的:

很公平。现在调查should,我看到它是一个吸气剂:

既然它是一个吸气剂,我如何检查它的键?这几乎有效:

但后来我看到

所以我比较卡在这一点上。我只是想看看会发生什么事情should

确实 阅读了文档,它说should.js从字面上扩展了节点的断言模块,但节点的断言确实允许deepEqual

应该文档甚至根本没有提到deepEqual,这真的让我感到困惑。更令人困惑的是,当我进入节点 REPL时,我确实看到了一个。但据我所知,它隐藏在一个元素中。deepEqualshouldok

TL; DR:我如何调用assertEqual或与其等效的should

0 投票
2 回答
893 浏览

java - 在java中比较一维和二维数组之间的等于

我有两个问题:我正在使用 JAVA 编程语言,但我发现使用数组有一些困难。

以下是一些不同的数组:

问题 1:是否可以使用 deepEquals 检查 play1 和 pre 之间的相等?我也知道 pre 是二维数组,而 play1 是一维数组。如果我想检查 play1 是否等于 pre,那么我可能会检查如下:

代码是否正确?即使可以检查一维和二维数组之间的相等性吗?还是我必须使用 ArrayList?我对 ArrayList 不太熟悉。如果有人举例说明,将不胜感激。

问题 2:但是,如果我想在 play1 和 play2 之间进行检查,那么输出也是错误的。我想在两个数组之间进行检查,即使它们没有相等的元素,但是如果两个数组都包含相同的元素,例如:{0,3,6}可以在 play1 和 play2 中找到,那么输出必须成真..

谢谢。

0 投票
1 回答
628 浏览

java - deepEquals - 列表相等,集合不相等

我有一个由 Eclipse 生成的带有 hashCode() 和 equals() 的 M 类(请参见下文)。

两个 M 相等的列表相等,两个 M 相等的集合不相等。

这是 deepEquals() 中的错误还是我感到困惑?

0 投票
3 回答
3717 浏览

python - 如何在python中对对象进行deepequals

有没有让我可以做的功能

但是,默认情况下,它始终为 false,因为 x 和 y 是不同的 Test 实例

0 投票
3 回答
1811 浏览

java - 检查两个java对象的Deep Equal最快和有效的方法是什么?

我有两个 java 对象,其byte[]字段大小为数百万。检查这些 java 对象的Deep Equal的最快和有效方法是什么?

样本实体:

注意:我是为 ORM 工具做的,基本上我正在检查一个对象(处于托管状态)与持久性上下文中存在的对象。

0 投票
3 回答
772 浏览

javascript - 检查嵌套对象的“深度相等”的函数

我正在尝试编写一个函数来检查两个对象是否具有相同的值。此功能要求我检查存储为原始对象内的值的任何对象的相等性。我开发的方法(见下面的代码)是首先检查非对象值的相等性。然后,如果这些都匹配,我再次遍历对象并对原始函数进行递归调用,这允许我比较两个对象的每个嵌套级别。

但是,这种方法仅部分有效。递归调用的性质意味着我只能在对象中的第一个键值对处检查嵌套对象的相等性。一旦比较了第一组嵌套对象并且递归调用返回,我无法弄清楚如何检查包含嵌套对象的任何其他键值对。这是功能:

我的基本问题是我相信我需要一个递归调用来检查嵌套对象的深度相等,但我只能成功地进行一次检查。有没有人试图解决这样的问题?如果您需要更具体的内容,我将提供特定对象的结果示例。谢谢!

0 投票
0 回答
36 浏览

java - 2 [][] int 数组具有完全相同的值,在完全相同的位置...如何有效地检查?

我在 Java 中的 Multidimensional int [][] 需要帮助。第一个是:

第二个是:

返回错误...但是为什么呢?如果我有这种情况,我想退出程序。目前我处于无限循环中,因为此检查无法正常工作。如果 testArr 中的一个值具有与 startArr 不同的位置(当然有两个值在不同的位置),它应该返回 false。