问题标签 [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 投票
14 回答
4895 浏览

java - 在 Java 中正确同步 equals()

我有以下仅包含一个字段的类i。对该字段的访问由对象的锁(“this”)保护。在实现 equals() 时,我需要锁定这个实例 (a) 和另一个 (b)。如果线程 1 调用 a.equals(b),同时线程 2 调用 b.equals(a),则两种实现中的锁定顺序是相反的,可能会导致死锁。

我应该如何为具有同步字段的类实现 equals()?

0 投票
8 回答
61036 浏览

java - 使用JPA和Hibernate时equals和hashcode应该如何实现

模型类的equals和hashcode应该如何在Hibernate中实现?常见的陷阱有哪些?对于大多数情况,默认实现是否足够好?使用业务密钥有什么意义吗?

在我看来,当考虑到延迟获取、id 生成、代理等时,很难让它在每种情况下都能正常工作。

0 投票
4 回答
8643 浏览

java - Google App Engine、JDO 和 equals/hashCode

我在 Google App Engine 中有一个运行良好的应用程序。我意识到我忘记实现 equals 和 hashCode 的一个 JDO 增强对象(我需要在一组中使用该对象)。所以我做了。在这些实现中我并没有真正做任何特别的事情,实际上我只是使用 Eclipse 来生成它们。像这样:

所以现在,当我尝试点击应用程序中的任何 URL 时,会抛出此异常:

/addUser javax.jdo.JDOUserException:持久类“类 com.bpapa.myapp.domain.User 似乎没有得到增强。您可能需要重新运行增强器并检查输出中的错误。” 数据库中没有表,但操作需要它。请检查该类的元数据规范。在 org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:427) 在 org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:249) 在 com.bpapa.myapp.servlet.AddUserServlet.doPost(AddUserServlet.java :34)

关于我做错了什么有什么想法吗?

0 投票
11 回答
101993 浏览

java - “.equals”和“==”有什么区别?

我今天换了讲师,他用一个奇怪的代码对我说。(他说最好用.equals,当我问为什么时,他回答“因为它是!”)

所以这里有一个例子:

而不是我习惯的:

两者有什么区别。为什么他的方式(使用.equals)更好?

在快速搜索中找到了这个,但我无法理解这个答案:

0 投票
5 回答
8004 浏览

c# - Dictionary.Equals() 有实现吗?

我有一个字典,我将它与另一个字典(输入为 IDictionary 的变量)进行比较。执行 d1.Equals(d2) 会产生错误。在下面编写我自己的代码会产生正确的结果。两者都是System.Collections.Generic.Dictionary。我是否遗漏了什么或没有Dictionary比较Equals键/值的实现?

0 投票
7 回答
35423 浏览

c# - 比较 Double 和 Int 的最佳方法是什么?

C# 中的以下代码不起作用:

那么,问题是:比较 Double 和 Int 的最佳方法是什么?

0 投票
5 回答
512 浏览

c# - 这是实现 Equals 和相等/不等式运算符的好/有效的习惯用法吗?

我在解决这个问题时遇到了一些问题,所以我想问一下是否有人对这是否是实现自定义不可变类的 Equals 方法和相等/不等式运算符的有效方法有任何反馈。我的程序非常频繁地调用这些运算符,因此我想确保它们正确无误。

0 投票
8 回答
339292 浏览

c# - 为什么要使用 String.Equals 而不是 ==?

我最近被介绍到一个大型代码库,并注意到所有字符串比较都是使用String.Equals()而不是==

这是什么原因,你觉得呢?

0 投票
5 回答
13302 浏览

sql - 在 SQL 中不等于

我想知道是否有某种方法可以在 MYSQL 中执行不等于命令。换句话说,你能做这样的命令:“SELECT * FROM someTitle WHERE someLabel != 'something'”吗?尝试此操作时,我的代码返回错误。

谢谢你的帮助!

0 投票
2 回答
401 浏览

java - Java:通知提供者与 hashCode 驱动的 Map 的实现

我已经为一组通用侦听器实现了抽象通用提供程序E,后代必须notifyListener(E)用特定的通知代码覆盖。对于我选择的听众后备名单WeakHashMap<K,V>。侦听器必须作为弱引用:

典型用途:

一切正常,但是当我需要AbstractList后代类作为侦听器时,支持WeakHashMap只接受一个侦听器实例!很明显——方法hashCode()equals()监听器为所有实例(空列表)返回相同的值,所以WeakHashMap.put只替换以前添加的监听器。

什么是最好的解决方案?

  1. 使用另一个非 hashCode 支持集合——但WeakHashMap对我来说太棒了,因为自动为我管理弱引用

  2. 使用非通用监听器,例如具有简单equals() { return (this == object); }实现的抽象类——但这不是那么灵活

  3. addListener(E)使用简单的 equals() 为侦听器使用一些包装器——但由于弱引用,此包装器对调用者不能透明

另一个想法?