java中equals如何表示不相等
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中equals如何表示不相等相关的知识,希望对你有一定的参考价值。
equals的作用是对字符串进行比较,返回boolean类型,一致返回true,不一致返回false.1楼是正确的,对于取不相等,就的用关系运算符: || 、&&、!(或、与、非) 参考技术A a.equals(b);表示相同
取非表示不相同
!a.equals(b); 参考技术B 加一个叹号。
java里equals和hashCode之间啥关系
参考技术Aequals与hashcode的关系是:
两个对象在equals相等的情况下,hashcode有可能相等也有可能不相等,
而两个对象在hashcode不相等的情况下,equals也必定不相等。
理解equals的应用:它是用于用户在进行对比的时候,这个时候对比的是内容是否相等
理解hashcode的应用:例如set集合,它的不可重复,进行对比的便是hashcode是否相等,因此set集合实现了不可重复。
如果根据 equals(Object) 方法,两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果。
即使两个hashCode()返回的结果相等,两个对象的equals方法也不一定相等。
扩展资料:
equals:
电脑编程语言,被用来检测两个对象是否相等,即两个对象的内容是否相等。
equals 方法(是String类从它的超类Object中继承的)
==用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true
hashCode:
是jdk根据对象的地址或者字符串或者数字算出来的int类型的数值。
支持此方法是为了提高哈希表(例如 java.util.Hashtable 提供的哈希表)的性能。
HashMap对象是根据其Key的hashCode来获取对应的Value。
在重写父类的equals方法时,也重写hashcode方法,使相等的两个对象获取的HashCode也相等。
这样当此对象做Map类中的Key时,两个equals为true的对象其获取的value都是同一个,比较符合实际。
参考资料:
百度百科 ------ hashcode
百度百科 ------ equals
以上是关于java中equals如何表示不相等的主要内容,如果未能解决你的问题,请参考以下文章
java中“==”和equals()以及hashCode()的理解