问题标签 [equals]

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 回答
2181 浏览

c# - 为同一个匿名方法创建两个委托实例不相等

考虑以下示例代码:

您会想象这两个委托实例将比较相等,就像使用良好的旧命名方法方法(new Action(MyMethod))一样。它们不相等,因为 .NET Framework 为每个委托实例提供了一个隐藏的闭包实例。由于这两个委托实例都将其 Target 属性设置为各自的隐藏实例,因此它们不进行比较。一种可能的解决方案是为匿名方法生成的 IL 将当前实例(this 指针)存储在委托的目标中。这将允许委托进行正确比较,并且从调试器的角度来看也有帮助,因为您将看到您的类是目标,而不是隐藏类。

您可以在我提交给 Microsoft 的错误中阅读有关此问题的更多信息。错误报告还举例说明了我们为什么使用此功能,以及为什么我们认为应该更改它。如果您也觉得这也是一个问题,请通过提供评级和验证来帮助支持它。

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=489518

您能看出不应更改功能的任何可能原因吗?您认为这是解决问题的最佳做法,还是建议我采取不同的方法?

0 投票
3 回答
461 浏览

java - 在Ruby中访问同一类的其他对象的成员变量

在 Java 中,我可以这样做:

这使我可以在不破坏类封装的情况下定义平等。我怎样才能在 Ruby 中做同样的事情?

谢谢。

0 投票
15 回答
91354 浏览

java - 是否有 Java 实用程序可以对两个对象进行深入比较?

如何在测试中根据它们的字段值“深入”比较两个未实现 equals 方法的对象?


原始问题(因缺乏精确性而关闭,因此不符合 SO 标准),保留用于文档目的:

我正在尝试为clone()大型项目中的各种操作编写单元测试,我想知道某处是否有一个现有的类能够获取相同类型的两个对象,进行深入比较,并说明它们是否'是否相同?

0 投票
2 回答
9374 浏览

c# - C#:静态 object.Equals 如何检查相等性?

假设您有两个不同的类,每个类都有自己的 Equals 实现;使用哪一个?如果他们中只有一个人有一个怎么办?还是一个都没有?以下任何行是否等效?

我猜前两个可能是等价的,但我真的不知道。

它的真正作用是什么?

0 投票
4 回答
1520 浏览

unit-testing - 如何设置调用具有特定类型的 Equals 来覆盖 MoQ 中的 Equals?

使用精细的模拟框架 MoQ,我遇到了一个有点令人惊讶的方面(我不喜欢惊喜)。我正在模拟一个应该在方法调用之后添加到集合中的类,如下所示:

这很好用,mock 被添加到Container's 集合中,Equalsmock 上的方法设置确保IEnumerable.Contains()返回 true。然而,总是有一些复杂性。我真正嘲笑的课程并不像我们的SomeClass. 是这样的:

该类包含对其自身特定类型的 Equals 方法的覆盖,并且Setup模拟的方法似乎无法模拟出该特定方法(仅覆盖更通用的Equals(object))。因此测试失败。

到目前为止,除了重写类以不使用覆盖的等号之外,我还没有找到解决这种非常常见的模式的方法。

我不喜欢那样。

有人有想法么?

0 投票
1 回答
2641 浏览

jquery - 在调整大小时保持相等的高度(jQuery)

我使用此代码来平衡列:

..做得不错,但是我在其中一个列中有一个手风琴菜单,可以滑入/滑出改变列的高度,equalheight 不能很好地配合它。每次调整大小时是否可以均衡列?

多谢!

0 投票
5 回答
840 浏览

java - 一行java代码,它做了什么?

所以我买了《Java for Dummies》第 4 版这本书,我必须说这可能是我花在这本书上的最好的 30 美元。我对编码并不陌生,如果我自己这么说的话,我实际上在这方面相当不错。

但是,我遇到了让我感到困惑的一行代码:

我的问题出现在第三行,即 if(!n.equals("")) 部分......我知道 if 循环是如何工作的(即:if(this == that){do stuff}),但我以前没有见过 !n.equals("") 设置。谁能给我解释一下?

PS:只是猜测一下。是否与以下内容相同:

我认为这只是一种确保如果用户不输入名称(即 myAccount.setName = ""; )它不会退回错误并正常运行的方法,但我不确定.

在此先感谢您的帮助!

编辑:更改了我的“myAccount.name = “”;” 到 "myAccount.setName = "";",很抱歉造成混乱。

谢谢:去亚萨,感谢答案!Lucas Aardvark 也一样,他也回答了,但是 Asaph 先在他自己的回答中回答了我的验证评论,谢谢大家!

0 投票
5 回答
8141 浏览

java - Java SortedSet + Comparator,与equals()问题的一致性

我想要一个按集合大小排序的集合的 SortedSet(在这种情况下是集合本身,但不一定是一般情况)。这似乎违反了让 Comparator 与 equals() 一致的禁令——即,两个集合可能不相等(通过具有不同的元素),但比较相同的值(因为它们具有相同数量的元素)。

从概念上讲,我也可以使用比较器方法对大小相等的集合进行排序,但是使用排序不会利用这一点,并且没有真正有用+直观的方法来比较大小相等的集合(至少,在我的特殊情况下),所以这似乎是一种浪费。

这种不一致的情况似乎是个问题吗?

0 投票
1 回答
1976 浏览

scala - 覆盖在 Scala 中实现的 JavaBeans 的 equals 和 hashCode 方法

我正在使用 iBatis 和 Java 缓存工具 ehcache 开发一个项目,但我正在 Scala 中实现模型类。我有一种强烈的感觉,我必须重写 equals 和 hashCode 方法以使缓存能够轻松管理其上的对象。

由于 scala 类中的大多数必需属性都是 vars,因此我需要有关创建依赖于 vars 和有效的对象比较的有效等于定义的建议。

代码示例将不胜感激。

谢谢。

0 投票
4 回答
3814 浏览

c++ - 垒球 C++ 问题:如何比较两个数组是否相等?

我正在尝试逐个元素地比较两个 int 数组以检查是否相等。我似乎无法让它工作。也欢迎基本指针资源。谢谢!