问题标签 [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.
python - Python:你能让这个 __eq__ 易于理解吗?
我还有一个问题要问你。
我有一个带有“元信息”列表的 python 类。此列表包含我的班级可能包含的变量名称。我编写了一个__eq__
方法,如果两者具有相同的变量,并且这些变量具有相同的值self
,则返回 True。other
metainfo
这是我的实现:
有没有人对我如何使这段代码更容易看到有任何建议?随心所欲地无情。
c# - 关于 Object Identity 和 Object Equality 以及 String 类异常的问题
这是一个 Java 和 C# 问题。我们都知道,Object Identity(==) 测试两个对象是否引用相同的位置,Obejct Equality(Equals 方法) 测试两个不同(不相同)的对象是否具有相同的值。但是如果是字符串对象 Object Identity 和对象平等是相同的。例如,if 语句中的两个布尔表达式以下返回 true
为什么会这样??这个设计决策背后的原因是什么?
php - 用于确定函数返回的 if 语句的问题
我使用 if 语句来确定在函数中返回什么,但它似乎没有按照我想要的方式工作。
$cats
是一个字符串(如果有帮助的话),输入时不会产生任何回报。如果我手动设置退货,那是可行的,但由于某种原因上面没有。
c# - 有没有一种有效的方法来确定两个不同但“相等”的实例上的 .Equals 是否会返回 true?
我正在尝试使用反射来确定在一个类型的两个不同但“相等”的实例上调用 .Equals 的结果。
我的方法是这样的:
例如:
但是,鉴于:
如果我IEquatable<MyComplexType>
在我的类上实现如下,我会得到正确的:
我想我可以通过使用反射实例化两个实例,然后将所有属性设置为适当键入的默认值来做到这一点。虽然这是很多工作和很多开销,我认为如果类型上没有空构造函数,我会遇到问题。
还有其他想法吗?
编辑:
人们似乎对我的意图感到困惑。我道歉。希望这将澄清:
我有一种方法可以将两个对象与其能力进行比较。简单地调用 .Equals() 是不够的,因为:
- 这些对象将是值类型,或者将以一种很好的方式实现 IEquatable,我会得到一个真实的响应。伟大的!
- 这些对象可能具有所有相同的属性并且“相等”,但由于它们是不同的实例,我会得到错误的响应。 我不知道这个错误是因为对象不“相等”,还是因为它们只是不同的实例。
所以在我看来,比较方法应该:
- 检查对象类型以查看它的
Equals
方法是否会为具有相同公共属性的两个不同实例返回 true。 - 如果是,则调用该
Equals
方法并返回结果 - 如果不是,请查看所有属性和字段并尽可能地比较它们以确定它们是否相等
现在,我知道我可以直接跳到第 3 步,但如果有办法提前确定是否有必要,那将节省时间。
编辑2:
我要关闭它有几个原因:
- 越说越发现我问的不是我真正想做的
- 即使我确实想这样做,也没有真正的捷径可走。重新编辑之前的编辑,无论如何我都应该跳到第 3 步。
感谢大家的意见。
php - php不等于不等于,等于
我不断看到这种变化:
不相等
!=
不相等,相等
!==
哪个是标准或它们有不同的含义?
我猜后者也会检查值和名称(如果它是字符串),而前者可能只检查值......
php - 编写或等于语句的最佳方式
您好 $mostamazingforumforfastanswersever。
我有一个愚蠢的问题;写这个的最好方法是什么:
如果不是,那么我需要打电话
如果该变量未设置并且我们不在此页面上,那么
我知道我离正确答案不远了,这实际上是按原样工作的,但前提是我删除了 || 我的第一个 if 语句的 this/ 部分。有没有更好的方法来编写或等于部分?|| == 例如?谢谢!
php - PHP中的'eq'与'=='有什么区别?
首先,我尝试在 Stack Overflow 和 Google 上搜索我为这个问题设置的标题的不同变体。我找不到解决方案。
我对 PHP 相当陌生。新到不知道 usingeq
和==
for 字符串比较之间的区别!
我通常==
用来比较 PHP 中的字符串。我很满意。
但我见过eq
用于比较字符串的代码。而且我隐约记得有人做了这样的观察,比如‘哦!我曾经==
比较字符串。我应该使用eq
'.
我只想知道使用==
是否可以进行简单的字符串比较?我不是在谈论特殊情况、区分大小写、子字符串或任何花哨类型的字符串比较。只是检查是否apple
与apple
.
够==
了吗?还是我应该使用eq
.
我的错误 :( 非常感谢您清除了我的“未充分研究”的问题!一定是 Perl。看到嵌入 HTML 中的代码我感到困惑,并认为这是嵌入 PHP 的另一种方式。抱歉。
c# - 测试是否等于默认值
以下内容无法编译:
错误:Operator '==' cannot be applied to operands of type 'T' and 'T'
我不能使用value == null
,因为T
可能是一个结构。
我不能使用value.Equals(default(T))
,因为value
可能是null
。
测试与默认值是否相等的正确方法是什么?
java - 基本 Java 问题:字符串相等
上面的程序输出“真”。两者都是两个不同的标识符/对象,输出如何为“真”?
我的理解是 JVM 将为每个对象创建不同的引用,如果是这样,输出如何是真的?
ruby - 在红宝石中实现平等的正确方法是什么
对于一个简单的类结构类:
什么是正确实现相等的正确方法,以确保 、==
、===
等eql?
工作,并让类的实例在集合、散列等中很好地发挥作用。
编辑
另外,当您想基于未在类外公开的状态进行比较时,有什么好的方法来实现平等?例如:
在这里,我希望我的平等方法将@age 考虑在内,但女士不会将她的年龄暴露给客户。在这种情况下我必须使用 instance_variable_get 吗?