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

c# - 请解释此代码中用于测试对象平等和身份的技术

请解释此代码中用于测试对象平等和身份的技术。

更好的是,如果您可以为我提供任何网络链接/书籍参考以进行详细讨论。

什么是瞬态对象?

0 投票
2 回答
928 浏览

c# - CLR 类型的 Object.Equals(objA, objB)、objA.Equals(objB) 和 objA == objB 之间的区别?

我想知道 CLR 类型是否会从以下返回不同的结果:

我确实意识到,在 CLR 之外,有人可以轻松地实现IEqualtableEquals 并不正确地重载 == 运算符。我不关心人们不正确地实施这些。我关心的是类(包括 String、Int32 等)以不同的方式实现这 3 个。

此外,如果可能的话,哪一个应该是用于整体比较(全面)的。我想知道这是因为我遇到了一个使用Object.Equals(objA, objB)整个视图模型而不是其他两个的文件。

0 投票
2 回答
441 浏览

c# - Char.Equals vs Object.Equals -- ReSharper 建议我应该使用 Object.Equals。我是不是该?

基本上,我想知道在这种情况下我是否应该听 ReSharper ......

您会认为与字符相比应该使用 Char.Equals(char),因为它可以避免拆箱,但 Resharper 建议使用 Object.Equals(obj)。也许我在这里遗漏了一些东西?


我猜这是因为有 DependencyProperty 支持?

0 投票
2 回答
638 浏览

c# - Object.Equals(对象,对象)处的 NullReferenceException

情况

我正在使用 ILGenerator 生成包装器。我使用Object.Equals(Object, Object)用于实现包装器字段的相等比较。调试器抛出NullReferenceException带有以下堆栈跟踪的 a。

Object.Equals(Object, Object) - 反汇编

正如您在反汇编中看到的那样,不可能NullReferenceException发生任何事情,因为它不会到达方法调用所在的部分。

可能的问题

正如我所说,漏洞代码是使用 ILGenerator 生成的,我认为这可能是错误的唯一可能来源。调用者内部只有值类型,因此对象甚至不可能为空。

调用 IL 代码

0 投票
1 回答
922 浏览

java - JComboBox.setSelectedItem() 问题

我的 jTable Column 8 是美国州列。这是我用适当的项目设置 jComboBox 以显示状态的代码。

当我使用 Buffered Reader 填充 Jtable 时,下面的代码可以很好地设置组合框项。

由于解析问题,我决定使用默认的 CSVReader 库,而不是自己重写它。我的 jTable 填充问题已经解决,但现在由于某种原因,这段代码现在不再有效。我错过了什么吗?

jComboBox(0) 是“--”。

谢谢你的帮助。JB

0 投票
2 回答
1487 浏览

python - python collections.Counter中的对象平等

我有 collections.Counter 类的实例,也有一些对象,例如:

我想在 Counter 的实例中保存这个人对象的计数,考虑到具有相同名称的人对象必须增加相同的人数,所以如果我有一个包含所有人对象的列表:

我用它填充我的计数器:

我想得到以下信息:

我的第一次尝试是为 person 对象实现一个新__eq__方法

我认为这可能会起作用,因为计数器对象似乎会根据键对象的相等性来增加键的计数,例如:

另一种尝试可能是从 Counter 继承并覆盖 Counter 用于测量对象之间相等性的底层方法,我不确定,但我认为 Counter 使用__contains__方法。

我的问题是,是否有任何方法可以在不使用继承的情况下获得这种行为,如果没有,最好的方法是什么?

0 投票
1 回答
879 浏览

ios - 核心数据:setPrimitiveValue:forKey: 行为真的很奇怪

这是一个谜:

我正在调用setPrimitiveValue:forKey:一个NSManagedObject. 关键是对象的合法、持久、建模属性。但是, setPrimitiveValue:forKey: 失败,通常为不同的任意属性设置值。setPrimitiveValue:forKey:文档说在调用未建模的密钥时会出现这种行为。因此,Core Data 似乎认为密钥未建模。

奇怪的部分:

当键被硬编码为字符串文字时,原始值确实设置成功。只有当键是变量时才会失败。keyPath我正在使用的变量恰好是从observeValueForKeyPath:ofObject:change:context:

keyPath变量与字符串文字相同。isEqual:返回 true 并且哈希值相等。keyPath变量的类型为__NSCFString。有谁知道为什么setPrimitiveValue:forKey:会有不同的行为?(此行为在 OS X 10.9.1 上)


提供更好信息的更新:

行为不端的键可追溯到从磁盘上的文件加载的字符串。下面的例子是一个孤立的案例。如果属性字符串“mainAttr”被写入磁盘并读回,则setPrimitiveValue:forKey:设置错误属性的值,而不是“mainAttr”。

核心数据对象:

-

0 投票
3 回答
189 浏览

javascript - JSON 对象!= JavaScript 对象?

为方便起见,我编写了一个简单的toJSON原型,用于处理我认为安全的 JSON:

我在测试我的网络服务时使用它。不幸的是,即使有这个简单的测试:

它失败:

关于导致此问题的 JavaScript,我不知道什么?

0 投票
1 回答
5333 浏览

python - 在 Python (2.7) 中,为什么 os.remove 与 os.unlink 不一样?

这是为什么?os.unlink 不应该是 os.remove 的别名吗?

0 投票
1 回答
37 浏览

javascript - 同一个对象不总是一样的吗?

为什么下面代码末尾b 不等于null

我认为aandb是绑定到一个对象的两个引用,因此都将成为null.