问题标签 [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.
python - Python pickle:腌制对象不等于源对象
我认为这是预期的行为,但想检查一下,也许找出原因,因为我所做的研究是空白的
我有一个函数可以提取数据,创建自定义类的新实例,然后将其附加到列表中。该类仅包含变量。
然后我使用协议 2 作为二进制文件将该列表腌制到一个文件中,稍后我重新运行脚本,从我的源中重新提取数据,我有一个带有我的自定义类实例的新列表,为了测试我将数据保留为源数据一样。
重新加载泡菜文件
现在当我做一个:
这总是回来False
,我不知道为什么,如果我打印列表或查看它们看起来完全相同的结构。
任何想法都会很精彩,这是我需要整理的最后一点。
php - in_array 如何检查对象是否在对象数组中?
是否in_array()
进行对象比较以检查所有属性是否相同?如果$obj1 === $obj2
,它会只做指针比较吗?
$obj1->getId()
我正在使用 ORM,所以如果它进行对象比较,我宁愿循环测试是否已经在数组中的对象。如果没有,那就in_array
更简洁了。
ruby - Ruby 中的“==”总是值相等吗?
抱歉,如果重复(我没找到)
这只是为了确认 Ruby 的运算符==
总是执行相等比较。IE
将 a 的值与 b 的值进行比较,而不是像 Java 那样,它们是否指向内存中的同一个对象(对于后者,在 Ruby 中,您应该使用a.object_id == b.object_id
)。
因此,在 Ruby 中将字符串值与 == 进行比较是安全的(而在 Java 中这样做并不安全)
谢谢
编辑:
问题在于任何 Ruby 对象的默认 == 行为,因为它可能误导 Java-C-C++ 程序员,假设 a==b 比较引用本身,而不是引用内容。
无论如何,您可以使用字符串查看此代码
编辑 2。
所以,在 Ruby 中,比较
检查 a 和 b 的值
但是,任务
不复制值,而是使 a 和 b 指向同一个对象!
继续前面的代码
javascript - Is it fine to use JSON.stringify for deep comparisons and cloning?
After attempting several implementations for deep comparison and copying for JSON-serializable objects, I've noticed the fastest often are just:
I feel like this is cheating, though. Like I'll find some problem that will annoy me on future. Is it fine to use those?
c# - 反射 - 对象比较和默认值
我正在尝试比较 C# 中的两个复杂对象,并生成一个包含两者之间差异的字典。
如果我有这样的课程:
一个例子,因此:
另一个:
为了获得这些之间的差异,我正在做的事情包括:
有趣的是这条线
使用上面的示例对象,这一行会给我一个默认值 0 SomeOtherId
(对于 bools & DateTimes & whathaveyou 的情况相同)。
我正在寻找的是一种newProps
仅包含对象中明确指定的属性的方法,因此在上面的示例中,Id
并且IsWhatever
. 我玩了BindingFlags
几次都没有用。
这可能吗?有没有更清洁/更好的方法,或者有什么工具可以帮我省去麻烦?
谢谢。
javascript - Checking object equality in Jasmine
Jasmine has built-in matchers toBe
and toEqual
. If I have an object like this:
and try to compare new Money(200, "USD")
and the result of sum, these built-in matchers will not work as expected. I have managed to implement a work-around based on a custom equals
method and custom matcher, but it just seems to much work.
What is the standard way to compare objects in Jasmine?
java - Java 整数池。为什么?
我到处读到,当您在 Java 中定义一个介于 -128 到 127 之间的整数时,它不是创建一个新对象,而是返回一个已经创建的对象。
除了让新手程序员比较 Integer 对象以查看它们是否是相同的数字之外,我认为这样做没有任何意义==
,但我认为这很糟糕,因为他们确信他们认为他们可以将任何 Integer 与 进行比较==
,并且还在教学在任何编程语言中都是一个不好的做法:将两个“不同”对象的内容与==
.
这样做的原因还有其他原因吗?或者在设计 JavaScript 中的可选分号之类的语言(在我看来)时,这只是一个错误的决定?
编辑:我在这里看到他们解释了行为:为什么整数常量池的行为在 127 处发生变化?
我在问他们为什么将其设计为具有这种行为,而不是为什么会发生这种行为。
java - equals 方法是否适用于对象?如果是这样,怎么做?
我有一个程序是动物园,在动物园里有爬行动物的分支动物亚群。当我执行 equals 方法时,主程序编译并运行。如果我正在比较对象而不是特别是 int 或 String,我很困惑 java 怎么知道使用 equals 方法?
java - Java 对象比较:为纸牌游戏实现 `compareTo()` 方法
我正在使用字符串比较方法“compareTo”制作方法。但是,我有几个关于它是如何工作的问题。
这是 compareTo 方法中我的部分代码。**所以我可以提一下,我收到了很多关于这段代码的在线帮助。当它被解释给我时,它是有道理的。因此,如果这对我有意义,我应该能够以另一种格式重写这段代码。但是,我发现自己无法做到这一点。因此,我正在寻找建议和帮助。
功能
通常是什么让我失望。compareTo 方法到底在做什么?
对于玩家回合,它正在比较两张游戏中的牌 -> 遵循程序逻辑。
我是否可以使用 compareTo 方法比较卡片?
这是我设置类构造函数的方式。
再次,最终确定。我在理解 compareTo 方法的工作原理时遇到问题。并且如果有任何类似的建议来比较玩家牌的另一种方式。
卡片列表来自 2 个单独的类别 -> 套装和等级
/** * ** * ** * ** * ** * ** * ** * ** * ** * 初始化类 Card 之外的对象 * @param rCard * @param sCard * * ** * ** * ** * ** * ** * ** * ** * ** * */ public Card(Rank rCard, Suit sCard) { this.rCard = rCard; 这个.sCard = sCard; }
javascript - 无法将 JavaScript 变量与 JSON 数据进行比较
我有一个表作为字符串存储在localstorage的 JSON 数据中。我想将此处存储的字段之一与单独的 javascript 变量进行比较。
这是我尝试过的:
但它不起作用。经过一些故障排除后,我认为问题出在比较(goal == goalsObj.goals[i].goal)
.
这是实际存储在 localStorage 的“目标”中的值:
它是存储在其中的对象数组。
所有这些 'diff'、'duedate' 都是从用户那里获取的 HTML 表单数据。
怎么了?我应该怎么办?