草庐IT

hash_equals

全部标签

Java HashMap.containsKey() 不调用 equals()

我有一个HashMap:Maphm=newHashMap();LotWaferBeanlw=newLotWaferBean();...//populatelwif(!hm.containsKey((LotWaferBean)lw)){hm.put(lw,triggerFiles[l]);}LotWaferBean的代码:@Overridepublicbooleanequals(Objecto){if(!(oinstanceofLotWaferBean)){returnfalse;}if(((LotWaferBean)o).getLotId().equals(lotId)&&((LotW

java - equals() 仅依赖于 ID 是否合适?

假设我有类User:publicclassUser{privateLongid;privateStringname;privateIntegerage;privateBigDecimalaccount;//otherfields,gettersandsetters}如下重写equals方法合适吗?@Overridepublicbooleanequals(Objectob){if(ob==null){returnfalse;}if(this==ob){returntrue;}if(obinstanceofUser){Userother=(User)ob;returnthis.id.equ

java - equals() 仅依赖于 ID 是否合适?

假设我有类User:publicclassUser{privateLongid;privateStringname;privateIntegerage;privateBigDecimalaccount;//otherfields,gettersandsetters}如下重写equals方法合适吗?@Overridepublicbooleanequals(Objectob){if(ob==null){returnfalse;}if(this==ob){returntrue;}if(obinstanceofUser){Userother=(User)ob;returnthis.id.equ

java - 为什么 BigDecimal 自然排序与 equals 不一致?

来自theJavadocforBigDecimal:Note:careshouldbeexercisedifBigDecimalobjectsareusedaskeysinaSortedMaporelementsinaSortedSetsinceBigDecimal'snaturalorderingisinconsistentwithequals.例如,如果您创建一个HashSet并将newBigDecimal("1.0")和newBigDecimal("1.00")添加到它,该集合将包含两个元素(因为值具有不同的比例,因此根据equals和hashCode不相等),但如果你做同样的事

java - 为什么 BigDecimal 自然排序与 equals 不一致?

来自theJavadocforBigDecimal:Note:careshouldbeexercisedifBigDecimalobjectsareusedaskeysinaSortedMaporelementsinaSortedSetsinceBigDecimal'snaturalorderingisinconsistentwithequals.例如,如果您创建一个HashSet并将newBigDecimal("1.0")和newBigDecimal("1.00")添加到它,该集合将包含两个元素(因为值具有不同的比例,因此根据equals和hashCode不相等),但如果你做同样的事

java - 多个重载方法 : Does null equal NullPointerException?

这个问题在这里已经有了答案:WhichoverloadwillgetselectedfornullinJava?(3个回答)Howdoesnullworkinthiscode?[duplicate](2个回答)关闭7年前。publicclassTestMain{publicstaticvoidmethodTest(Exceptione){System.out.println("Exceptionmethodcalled");}publicstaticvoidmethodTest(Objecte){System.out.println("Objectmethodcalled");}pub

java - 多个重载方法 : Does null equal NullPointerException?

这个问题在这里已经有了答案:WhichoverloadwillgetselectedfornullinJava?(3个回答)Howdoesnullworkinthiscode?[duplicate](2个回答)关闭7年前。publicclassTestMain{publicstaticvoidmethodTest(Exceptione){System.out.println("Exceptionmethodcalled");}publicstaticvoidmethodTest(Objecte){System.out.println("Objectmethodcalled");}pub

java - 为什么 Java 使用 (hash & 0x7FFFFFFF) % tab.length 来决定键的索引?

从下面的链接中,我知道Java使用(hash&0x7FFFFFFF)%tab.length来决定将{key,value}放入数组的哪个槽。http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/java/util/Hashtable.java#Hashtable.put%28java.lang.Object%2Cjava.lang.Object%29我的问题是为什么Java首先做hash&0x7FFFFFFF?有什么特别的目的吗? 最佳答案

java - 为什么 Java 使用 (hash & 0x7FFFFFFF) % tab.length 来决定键的索引?

从下面的链接中,我知道Java使用(hash&0x7FFFFFFF)%tab.length来决定将{key,value}放入数组的哪个槽。http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/java/util/Hashtable.java#Hashtable.put%28java.lang.Object%2Cjava.lang.Object%29我的问题是为什么Java首先做hash&0x7FFFFFFF?有什么特别的目的吗? 最佳答案

java - 父类(super class)不重新声明equals()和hashCode()会出什么问题?

假设有两个这样的类:abstractclassA{/*someirrelevantmethods*/}classBextendsA{publicfinalintx;publicB(finalintx){this.x=x;}/*somemoreirrelevantmethods*/}然后我使用Eclipse的“Source→GeneratehashCode()andequals”在类B上生成equals()和hashCode()方法()……”。但Eclipse警告我:Thesuperclass'com.example.test2.A'doesnotredeclareequals()and