-
1 votesanswersviews
使用Dictionary覆盖对象的等于 . C#
如何重写Equals,这样你可以比较两个相同的类和两个目录而不用静态指定它们?目前,有一个由以下字段组成的对象 . 对于类型字符串,Int32等,等于满足条件 . public class RatiosAVG { public RatiosAVG() { Dict1 = new Dictionary<Int32, OtherObject1>(); ... -
9 votesanswersviews
equals()方法的工作原理
我正在深入研究Java的基础知识 . 我从这个article推断,java equals方法意味着,如果两个对象相等,那么它们必须具有相同的hashCode() . 这是我的例子 . public class Equals { /** * @param args */ public static void main(String[] args) { ... -
15 votesanswersviews
使用IEqualityComparer和Equals / GethashCode Override有什么区别?
当我使用字典有时我必须更改默认的等于意思,以便比较键 . 我看到如果我在键的类上重写Equals和GetHashCode,或者我创建了一个实现IEqualityComparer的新类,我有相同的结果 . 那么使用IEqualityComparer和Equals / GethashCode Override有什么区别?两个例子: class Customer { public string ... -
0 votesanswersviews
查询不产生结果时自定义构建搜索的NullPointException
我正在 Build 一个学校项目的搜索,我整天都被困在这里 . 我已经尝试了所有我能想到的东西 . 我必须在某个地方遗漏一些简单的东西,不知道在这一点上是什么 . 我在第56行的线程"main" java.lang.NullPointerException中获得了Exception,这是FOR循环中的第一个IF . 只有在搜索找不到任何内容时才会发生这种情况 . 其他一切似乎都... -
1 votesanswersviews
重写Equals和GetHashCode - 派生类中的默认实现
我对C#中Equals和GetHashCode的默认行为有点困惑 . 假设我有两个类,一个派生自另一个: public abstract class Question { public string QuestionText { get; set; } public overr... -
2 votesanswersviews
如何在匿名类型上实现Equals和GetHashCode?
帮助说: 匿名类型是直接从对象派生的类类型,不能转换为除object之外的任何类型 . 编译器为每个匿名类型提供名称,尽管您的应用程序无法访问它 . 从公共语言运行库的角度来看,匿名类型与任何其他引用类型没有区别 . 如果程序集中的两个或多个匿名对象初始值设定项指定了具有相同顺序且具有相同名称和类型的属性序列,则编译器会将对象视为相同类型的实例 . 它们共享相同的编译器生成的类型信息 . 因为匿... -
131 votesanswersviews
BigDecimal等于()与compareTo()
考虑简单的测试类: import java.math.BigDecimal; /** * @author The Elite Gentleman * */ public class Main { /** * @param args */ public static void main(String[] args) { // TODO A... -
270 votesanswersviews
集合的hashCode方法的最佳实现
我们如何确定集合的 hashCode() 方法的最佳实现(假设equals方法已被正确覆盖)? -
12 votesanswersviews
Equals和GetHashCode方法不一致
在阅读了这个问题之后Why do "int" and "sbyte" GetHashCode functions generate different values?我想进一步挖掘并发现以下行为: sbyte i = 1; int j = 1; object.Equals(i, j) //false (1) object.Equals... -
0 votesanswersviews
为什么不在Equality中使用GetHashCode呢? [重复]
这个问题在这里已有答案: Using GetHashCode to test equality in Equals override 8个答案 给人类: class person { public string name; public int age; } 比如说,我重写了类人员的GetHashCode方法: public override int GetHashCode(... -
1 votesanswersviews
我可以在现有类中添加运算符吗?
在Kotlin中,我想将 equals 方法添加到尚未实现 equals 实现的现有类中 . 在我的情况下,我想比较两个 BooleanArray 实例 . 对于两个数组 a1 和 a2 , equals (因此 == )应返回 true ,如果它们具有相同的大小并且所有项目都相同 . 因此 a1[i] === a2[i] 为所有 0 <= i < size . The docume... -
266 votesanswersviews
从集合中获取元素
为什么 Set 不提供获取等于另一个元素的元素的操作? Set<Foo> set = ...; ... Foo foo = new Foo(1, 2, 3); Foo bar = set.get(foo); // get the Foo element from the Set that equals foo 我可以问 Set 是否包含一个等于 bar 的元素,为什么我不能得到那... -
617 votesanswersviews
在Java中重写equals和hashCode时应该考虑哪些问题?
覆盖 equals 和 hashCode 时必须考虑哪些问题/陷阱? -
362 votesanswersviews
创建完美的JPA实体[关闭]
我一直在使用JPA(实现Hibernate)一段时间,每次我需要创建实体时,我发现自己正在努力解决AccessType,immutable属性,equals / hashCode等问题 .因此,我决定尝试找出每个问题的一般最佳实践,并将其写下来供个人使用 .但是,我不介意任何人对此发表评论或告诉我我错在哪里 . 实体类 实现Serializable 原因:规范说你必须这样做,但是有些JPA提供... -
0 votesanswersviews
Haskell - 使用'=='时没有(Eq(Int - > Int))的实例
我目前正在调查haskell . 我知道我必须使数据类型成为Eq的一个实例才能比较它们 . 但是Int应该已经具有可比性吗?所以我不知道如何处理以下错误: •使用'=='没有(Eq(Int - > Int))的实例(也许你还没有将函数应用到足够的参数?) 我的守则如下: myRandomList = [1,2,3,4,5,6,7,8,9,10] myFilterList :: [I... -
298 votesanswersviews
为什么我需要覆盖Java中的equals和hashCode方法?
最近我读了这篇Developer Works Document . 该文档是关于有效和正确地定义 hashCode() 和 equals() ,但是我无法弄清楚为什么我们需要覆盖这两个方法 . 如何有效地实施这些方法? -
55 votesanswersviews
覆盖子类中的equals()和hashCode()...考虑超级字段
是否有一个特定的规则如何覆盖 equals() & hashCode() 在 sub classes 考虑 super fields ??知道有很多参数:超级字段是私有/公共的,有/无getter ... 例如,Netbeans生成的equals()&hashCode()将不考虑超级字段......和 new HomoSapiens("M", "80", ... -
53 votesanswersviews
覆盖可变对象的GetHashCode?
我已经阅读了关于何时以及如何覆盖 GetHashCode 的10个不同的问题,但是's still something I don' t得到了 . GetHashCode 的大多数实现都是基于对象字段的哈希码,但是引用的是 GetHashCode 的值在对象的生命周期内永远不会改变 . 如果它所基于的字段是可变的,那该怎么办?另外,如果我希望字典查找等基于引用相等而不是我的重写 Equals ... -
0 votesanswersviews
在Sub Class中正确实现Equals和GetHashCode
我们假设我有以下抽象类学生: public abstract class Student { public string studentID {get; private set;} public string FirstName {get; private set;} public string lastname {get; private set;} public... -
1 votesanswersviews
当空间大于32位时,如何实现GetHashCode兼容的Equals方法?
在.NET中,您需要Equals(object)和GetHashCode()兼容 . 但有时你不能: public class GreaterThan32Bits { public int X { get; set; } public int Y { get; set; } } 由于数据密度大于32位,并且GetHashCode返回Int32,因此您将拥有3个解决方案(假设正确实... -
8 votesanswersviews
当此== null且obj == null时调用IEquatable <T> .Equals(T obj)的结果?
当 this == null 和 obj == null 时, IEquatable<T>.Equals(T obj) 应该怎么做? 1) 实现 IEquatable<T> 时,此代码由F#编译器生成 . 当两个对象都是 null 时,您可以看到它返回 true : public sealed override bool Equals(T obj) { ... -
12 votesanswersviews
应该什么时候.NET类覆盖等于()?什么时候不应该?
VS2005文档Guidelines for Overloading Equals() and Operator == (C# Programming Guide)部分说明 不建议在非不可变类型中覆盖operator == . 较新的.NET Framework 4文档Guidelines for Implementing Equals and the Equality Operator (=... -
0 votesanswersviews
GetHashCode等于C#中类的实现
我有一个类Person,我必须覆盖它的Equals和GetHashCode方法 . 如果名称匹配,则两个人对象等于电子邮件匹配 . 使用相当高效的哈希函数,这样做的好方法是什么? class Person { string Name string Email public override Equals(object obj) { if (Refe... -
50 votesanswersviews
正确实现GetHashCode [重复]
这个问题在这里已有答案: What is the best algorithm for an overridden System.Object.GetHashCode? 17个答案 我想听听社区关于如何为我的对象实现GetHashCode(或覆盖它)的消息 . 我理解如果我覆盖equals方法,我需要这样做 . 我已经实现了相当多的次数,有时只是调用基本方法 . 我知道如果对象包含相同的细节(... -
108 votesanswersviews
Java字符串:compareTo()与equals()
在Java中测试 String 的相等性时,我总是使用 equals() ,因为对我而言,这似乎是最自然的方法 . 毕竟,它的名字已经说明了它的目的 . 然而,我最近告诉我的一位同事被教导使用 compareTo() == 0 而不是 equals() . 这感觉不自然(因为 compareTo() 是为了提供一个排序而不是相等的平等),甚至有点危险(因为 compareTo() == 0 并不... -
151 votesanswersviews
Apache Commons equals / hashCode builder [关闭]
我很想知道,人们在这里想到使用 org.apache.commons.lang.builder EqualsBuilder / HashCodeBuilder 来实现 equals / hashCode ?这比写自己更好吗?它与Hibernate相处得好吗?你怎么看? -
1 votesanswersviews
IEEE 754如何定义相同?
How does IEEE-754 define equal for "regular" double floating point numbers? Is the java implementation of Double.equal in accordance with IEEE-754? 如果我省略像NaN这样的特殊值,-0等是IEEE-754双浮点数等于,当且仅当它们具... -
0 votesanswersviews
GetHashCode&Equals覆盖Collection相等性
我需要一个带有复合键的字典 . 到目前为止,我一直在使用元组: Dictionary<(string key1, string key2, Datetime key3), TValue> groups = ... 但是现在我需要将键指定为属性的运行时列表 . 就像是 var key = new CompositeKey(); key.Add(key1) key.Add(key2) k... -
508 votesanswersviews
如何确定两个JavaScript对象的相等性?
严格的相等运算符将告诉您两个对象 types 是否相等 . 但是,有没有办法判断两个对象是否相等,Java中的值是多少? Stack Overflow问题Is there any kind of hashCode function in JavaScript?与此问题类似,但需要更多学术答案 . 上面的场景说明了为什么有必要有一个,我想知道是否有任何 equivalent solution . -
-2 votesanswersviews
调用谁的.equals()方法来解决HashMaps中的哈希冲突?
On every single article about HashMaps hash collision one thing is in common and my question revolves around that. 让我解释一下我对哈希映射内部工作的理解 . Saving two entries(e1,e2) with same hashcode using map.put(k,v)...