问题标签 [object-equality]

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 投票
1 回答
332 浏览

eclipselink - EclipseLink 中的 IdClass 有什么要求?

EclipseLink 用户指南指出,在为复合主键构造 IdClass(未嵌入)时,它必须具有公共无参数构造函数并实现方法equalshashCode. 此外,它给出的示例还实现了 getter 和 setter。

Persistence WikiBook有一个带参数的公共构造函数,没有无参数构造函数,没有 getter 和 setter,并明确声明 EclipseLink 不需要实现equalsand hashCode

其中哪些是真正需要的?我可以使用只有属性、没有构造函数和方法的最小 IdClass,因为 EclipseLink 会为我生成这些吗?这取决于 EclipseLink 的版本吗?

0 投票
1 回答
3604 浏览

c# - Entity Framework 实体的最佳实践覆盖 Equals 和 GetHashCode

我想检查两个具有one-to-many内部关系的实体之间的相等性。

所以很明显我覆盖了这个Object.Equals方法,但是我得到了CS0659编译器警告:'class' overrides Object.Equals(object o) but does not override Object.GetHashCode().

我覆盖了Object.GetHashCode,但是 Resharper 告诉我该GetHashCode方法应该为所有对象生命周期返回相同的结果,并将用于可变对象。(文档

我不知道我应该更喜欢什么:

  • 覆盖Equals方法而不覆盖GetHashCode,或
  • 用不可变数据覆盖GetHashCode
0 投票
3 回答
73 浏览

javascript - JS 在对象数组上使用 indexOf

我想在对象数组上使用 indexOf() 。例如:

这将打印 -1 因为 arr[0] 不等于 obj。我怎样才能使这项工作(即打印0)?