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

python - 在 Python 类中支持等价(“平等”)的优雅方式

在编写自定义类时,通过==and!=运算符允许等价通常很重要。在 Python 中,这可以通过分别实现__eq____ne__特殊方法来实现。我发现最简单的方法是以下方法:

你知道这样做的更优雅的方法吗?您知道使用上述比较__dict__s 的方法有什么特别的缺点吗?

注意:澄清一下——当__eq____ne__未定义时,你会发现这种行为:

也就是说,因为它确实运行,所以a == b评估为身份测试(即,“与 相同的对象吗?”)。Falsea is bab

__eq____ne__被定义时,你会发现这种行为(这是我们所追求的):

0 投票
23 回答
4284312 浏览

java - 如何比较 Java 中的字符串?

到目前为止,我一直==在我的程序中使用运算符来比较我的所有字符串。但是,我遇到了一个错误,将其中一个.equals()改为,它修复了这个错误。

==坏吗?什么时候应该使用,什么时候不应该使用?有什么不同?

0 投票
3 回答
84229 浏览

objective-c - 在 Objective-C 中,Java 的“instanceof”关键字等价于什么?

我想检查一个对象(例如someObject)是否可分配(可转换)给另一种类型的变量(例如SpecifiedType)。在 Java 中,我可以写:

一个相关的问题是查找对象的运行时类型是否等于另一种类型。在 Java 中,我可以写:

如何在 Objective-C 中做到这一点?

0 投票
8 回答
100611 浏览

c# - LINQ Select Distinct with Anonymous Types

所以我有一个对象集合。确切的类型并不重要。从中我想提取一对特定属性的所有唯一对,因此:

所以我的问题是:在这种情况下 Distinct 会使用默认对象 equals (这对我来说没用,因为每个对象都是新的)还是可以告诉它做不同的 equals (在这种情况下,Alpha 和 Bravo 的值相等=> 相等的实例)?如果不这样做,有什么方法可以达到这个结果?

0 投票
3 回答
39101 浏览

syntax - Common Lisp 中的 eq、eql、equal 和 equalp 有什么区别?

Common Lisp 中的 ,​​ 和 ,eq有什么eql区别?我知道他们中的一些检查类型,其中一些检查类型以及所有这些,但是哪个是哪个?什么时候比其他更好用?equalequalp

0 投票
6 回答
38896 浏览

java - 比较 LinkedList.contains() 中的对象

我希望能够让 LinkedList.contains() 为自定义比较器返回 true。

假设我有 1 个 LinkedList 和 2 个对象

从技术上讲,两个对象在比较方面是相同的(MyObject 实现 Comparable)

(a == b) == 真

但是,当我执行以下操作时,myList 不会为 myList.contains(b) 返回 true

我认为它是因为 contains 将检查对象引用并看到 a 和 b 是 2 个不同的对象。有什么办法可以做到,所以我不必扩展 LinkedList 来比较这些对象?

0 投票
4 回答
19025 浏览

c# - 与 Double.NaN 相等

我有以下代码...

哪个输出:

是什么赋予了?

我使用 Double.NaN 表示该值不存在,不应输出。

0 投票
0 回答
51131 浏览

php - php == vs === 运算符

php.ini 中 == 和 === 有什么区别?我不确定何时使用两者。

更新说明:为了显示在 StackOverflow 搜索中,== 和 === 之间的区别与 != 和 !== 之间的区别相同。

0 投票
6 回答
842 浏览

java - 字符串相等与位置相等

// 输出
true
true
false
true

如果所有三个字符串都具有相同的内容,为什么不是所有字符串在内存中都具有相同的位置?

0 投票
3 回答
23346 浏览

c# - 如何检查两个表达式> 是一样的

是否有可能找出两个表达式是否相同?

就像给定以下四个表达式:

那么,至少我们可以看到:

  • a == b
  • a != c
  • a != d

但是我可以做些什么来在我的代码中找到这个吗?

看了一眼 msdn 库,上面写着

Equals: 判断指定的 Object 是否等于当前的Object. (继承自Object。)

我猜这意味着至少Expression类没有覆盖equals方法成为Equatable?那么你会怎么做呢?还是我在这里要求太多了?:p