问题标签 [object-comparison]
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.
objective-c - 为什么我的比较 if 语句不起作用?
为什么以下代码(在可可中)不起作用?
在 Xcode 中,这只是在没有警告或错误的情况下运行,但没有做我认为应该做的事情。
javascript - JavaScript 中的对象比较
在 JavaScript 中比较对象的最佳方法是什么?
例子:
我知道如果两个对象引用完全相同的对象,它们是相等的,但是有没有办法检查它们是否具有相同的属性值?
以下方式对我有用,但这是唯一的可能性吗?
c++ - 当你比较两个对象时会发生什么?
如果我为 Foo 类(在 C++ 中)编写了一个运算符 ==,究竟会发生什么?它是否将每个数据成员相互比较?
python - Python:为什么 ("hello" is "hello") 评估为 True?
为什么用 Python"hello" is "hello"
生成?True
我在这里阅读了以下内容:
如果两个字符串文字相等,则它们已被放入相同的内存位置。字符串是不可变的实体。不能造成任何伤害。
那么每个 Python 字符串在内存中只有一个位置吗?听起来很奇怪。这里发生了什么?
java - 如何比较两个整数?
我必须比较两个Integer
对象(不是int
)。比较它们的规范方法是什么?
我能想到这个:
该==
运算符仅比较引用,因此这仅适用于较低的整数值。但也许自动装箱开始了......?
这看起来像一个昂贵的操作。有没有以这种方式计算的哈希码?
有点啰嗦...
编辑:感谢您的回复。尽管我现在知道该做什么,但事实分布在所有现有答案(甚至已删除的答案上:)),我真的不知道该接受哪一个。所以我会接受最好的答案,它指的是所有三种比较可能性,或者至少是前两种。
jsp - 如何比较EL表达式语言中的两个对象变量?
我正在创建所有语言的下拉列表。列表的默认语言选择将由用户添加的信息确定:
.equals
EL中似乎不存在。看过这里,建议我编写自己的函数,然后导入并使用它。由于这只是这个页面的一件小事,我不想为此开始创建库等。我也不想开始为 servlet 创建专门的对象,以便在其中返回这些额外的信息。
我唯一能想到的就是从servlet返回整个选项行的实际html,而不仅仅是语言字符串,但这让我觉得很难看,所以我希望有一个更优雅的解决方案。
快速修复比较 EL 中的两个字符串的最佳计划是什么?
asp.net-mvc - 如何将 entityframework 对象的自定义比较(二元运算符 Equal 的定义)写入 int?
我收到此错误:
ex = {"二元运算符 Equal 没有为类型 'MySite.Domain.DomainModel.EntityFramework.NickName' 和 'System.Int32' 定义。"}
我试图做的是选择所有NickNameId = someIntPassedIn
...问题是NickNameId是一个外键,所以当它比较时它someIntPassedIn
会NickNameId
拉出引用的整个NickName
对象NickNameId
并尝试比较int目的。
我需要一个解决方案来允许它将 int 与 NickName 对象的 Id 进行比较......所以
A)如何定义二元运算符 Equal 来比较这两个对象
或者
B)我怎样才能将它直接与 id 而不是整个对象进行比较?
您不必阅读此内容,但这里是 SelectAllByKey 方法以防万一:(
我传入了“NickNameId”和“1”)
如果您需要更多信息,请告诉我。
谢谢,
马特
php - php中的嵌套foreach循环导致循环期间附加到数组的项目重复
我在php特定论坛中多次问过这个问题,但没有回应。基本上,我使用的是 codeigniter 和一个名为 datamapper 的对象关系映射器。当您实例化一个对象时,它会将数据库表存储为对象,并将字段存储为属性。我正在尝试比较两个对象的属性以确定要删除哪些记录。基本上我有这样的事情:
http://blog.jeremymartin.name/2008/02/easy-multi-select-transfer-with-jquery.html#
我已经成功创建了我的添加功能。但现在我在编辑功能上苦苦挣扎。用户可能想要删除与某个类别相关联的父级或向该类别添加新的父级。所以我需要考虑到这一点并相应地更新 categories_related_categories 连接表。
但是当我尝试在 foreach 循环中比较对象属性时,它会迭代内部循环两次并复制属性:
因此,我通过抓取与用户选择的内容不匹配的 id 并删除相关记录来删除用户不再需要的任何关系。
这是问题所在:
它应该是这样的,因为没有办法可以复制 id:
感谢您的回复。
java - 我可以使用 == 运算符来比较 Java 中的 Point 对象吗?
当我正在解决“破解编码面试”一书中的问题时......我有一个疑问。问题是:
给定二维平面上的两个正方形,找到一条将这两个正方形切成两半的线。
解决方案:任何穿过矩形中心的线都必须将其切成两半。因此,如果你画一条连接两个正方形中心的线,它将把两个正方形切成两半。
但现在的疑问是 cut 方法中的 '==' 运算符来检查它们是否是同一个正方形的点。点是不可变的吗??请帮助我...在此先感谢。
java - Java中==和equals()有什么区别?
我想澄清一下我是否理解正确:
==
是引用比较,即两个对象都指向同一个内存位置.equals()
评估对象中值的比较