Questions tagged «equality»

相等是两个或多个项目或变量或对象之间存在的关系,如果(1)项目是相同的项目,变量或对象,或者(2)项目是不同的项目,变量或对象,但它们具有相同的值。此标记通常应与特定于编程语言的标记以及其他上下文标记(例如数据库系统)一起使用。该帖子应尽可能包含有关平等测试的上下文。

14
为什么x ==(x = y)与(x = y)== x不同?
考虑以下示例: class Quirky { public static void main(String[] args) { int x = 1; int y = 3; System.out.println(x == (x = y)); // false x = 1; // reset System.out.println((x = y) == x); // true } } 我不确定Java语言规范中是否有一项规定要加载变量的先前值以便与右侧(x = y)进行比较,根据括号中的顺序,应该首先计算该右侧()。 为什么第一个表达式求值false,而第二个表达式求值true?我本来希望(x = y)先被评估,然后再x与自身(3)比较并返回true。 这个问题与Java表达式中子表达式的求值顺序不同,因为x这里绝对不是“子表达式”。需要加载它以进行比较,而不是对其进行“评估”。这个问题是特定于Java的x == (x = y),与通常为棘手的面试问题设计的牵强的不切实际的构造不同,该表达式来自一个真实的项目。它原本应该是“一键替换”成语的单行替换 …

12
将Java中的两个对象与可能的null值进行比较
我想比较两个字符串在Java中的相等性(如果一个或两个都可以)null,因此我不能简单地调用.equals()。什么是最好的方法? boolean compare(String str1, String str2) { ... } 编辑: return ((str1 == str2) || (str1 != null && str1.equals(str2)));
189 java  null  equality 

3
在Objective-C中,Java的“ instanceof”关键字等效于什么?
我想检查一个对象(例如someObject)是否可分配(可广播)到另一种类型的变量(例如SpecifiedType)。在Java中,我可以这样写: someObject instanceof SpecifiedType 一个相关的问题是查找对象的运行时类型是否等于另一个类型。在Java中,我可以这样写: someObject.getClass().equals(SpecifiedType.class) 如何在Objective-C中完成?

4
IEquatable和仅重写Object.Equals()有什么区别?
我希望我的Food课程能够在等于的另一个实例时进行测试Food。稍后将针对列表使用它,并且我想使用其List.Contains()方法。我应该实施IEquatable<Food>还是仅重写Object.Equals()?从MSDN: 此方法通过使用默认的相等比较器确定相等,该比较器由对象的IEquatable.Equals方法实现,用于T(列表中值的类型)。 所以我的下一个问题是:.NET框架的哪些函数/类使用了Object.Equals()?我应该首先使用它吗?
183 c#  .net  equals  equality  iequatable 


21
使用==比较Java中的浮点数有什么问题?
根据此java.sun页面,它 ==是Java中浮点数的相等比较运算符。 但是,当我键入以下代码时: if(sectionID == currentSectionID) 进入编辑器并运行静态分析,我得到:“ JAVA0078与==”相比的浮点值 什么是错的使用==比较浮点值?正确的方法是什么?

19
比较两个集合是否相等,无论它们中的项顺序如何
我想比较两个集合(在C#中),但是我不确定有效实现这一点的最佳方法。 我已经阅读了有关Enumerable.SequenceEqual的其他主题,但这并不是我想要的。 在我的情况下,如果两个集合都包含相同的项(无论顺序如何),它们将相等。 例: collection1 = {1, 2, 3, 4}; collection2 = {2, 4, 1, 3}; collection1 == collection2; // true 我通常要做的是遍历一个集合的每个项目,看是否在另一个集合中,然后遍历另一个集合的每个项目,看它是否在第一个集合中。(我从比较长度开始)。 if (collection1.Count != collection2.Count) return false; // the collections are not equal foreach (Item item in collection1) { if (!collection2.Contains(item)) return false; // the collections are not equal …


7
jQuery对象相等
如何确定两个jQuery对象是否相等?我希望能够在数组中搜索特定的jQuery对象。 $.inArray(jqobj, my_array);//-1 alert($("#deviceTypeRoot") == $("#deviceTypeRoot"));//False alert($("#deviceTypeRoot") === $("#deviceTypeRoot"));//False
151 equality  jquery 

8
LINQ选择与匿名类型不同
所以我有一个对象集合。确切的类型并不重要。因此,我要从中提取一对特定属性的所有唯一对,从而: myObjectCollection.Select(item=>new { Alpha = item.propOne, Bravo = item.propTwo } ).Distinct(); 所以我的问题是:在这种情况下,Distinct会使用默认的对象等于(对我来说是无用的,因为每个对象都是新的)还是可以被告知做不同的等于(在这种情况下,等于Alpha和Bravo的值) =>相等的实例)?如果没有做到这一点,有什么方法可以实现?


5
为什么“ null> = 0 && null <= 0”而不是“ null == 0”?
我必须编写一个例程,如果变量的类型为number,则将变量的值加1,否则将变量的赋值为0,其中变量的初始值为null或undefined。 第一个实现是v &gt;= 0 ? v += 1 : v = 0因为我认为没有数字会使算术表达式为假,但是由于null &gt;= 0计算为真,所以这是错误的。然后,我了解到null行为类似于0,并且以下表达式均被评估为true。 null &gt;= 0 &amp;&amp; null &lt;= 0 !(null &lt; 0 || null &gt; 0) null + 1 === 1 1 / null === Infinity Math.pow(42, null) === 1 当然null不是0。null == 0被评估为false。这使看似重言式的表达成为(v &gt;= 0 &amp;&amp; v &lt;= …

6
默认.equals和.hashCode将如何为我的课程工作?
说我有自己的课程 public class MyObj { /* ... */ } 它具有一些属性和方法。它不实现等于,不实现hashCode。 一旦我们调用equals和hashCode,默认的实现是什么?从对象类?那是什么 默认值等于如何工作?默认的hashCode将如何工作,返回什么?==只会检查它们是否引用同一个对象,因此很容易,但是equals()和hashCode()方法呢?

10
测试单个向量的所有元素之间的相等性
我正在尝试测试向量的所有元素是否彼此相等。我想出的解决方案似乎有些round回,都涉及检查length()。 x &lt;- c(1, 2, 3, 4, 5, 6, 1) # FALSE y &lt;- rep(2, times = 7) # TRUE 与unique(): length(unique(x)) == 1 length(unique(y)) == 1 与rle(): length(rle(x)$values) == 1 length(rle(y)$values) == 1 一个可以让我包括用于评估要素之间“平等”的容差值的解决方案将是避免FAQ 7.31问题的理想选择。 我完全忽略了针对测试类型的内置函数吗?identical()并all.equal()比较两个R对象,因此它们在这里不起作用。 编辑1 以下是一些基准测试结果。使用代码: library(rbenchmark) John &lt;- function() all( abs(x - mean(x)) &lt; .Machine$double.eps ^ …
101 r  vector  equality 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.