java中equals如何表示不相等

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中equals如何表示不相等相关的知识,希望对你有一定的参考价值。

equals的作用是对字符串进行比较,返回boolean类型,一致返回true,不一致返回false.
1楼是正确的,对于取不相等,就的用关系运算符: || 、&&、!(或、与、非)
参考技术A a.equals(b);表示相同
取非表示不相同
!a.equals(b);
参考技术B 加一个叹号。

java里equals和hashCode之间啥关系

参考技术A

equals与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()的理解

==!=和equals区别

Java集合之保持compareTo和equals同步

==和equals

JAVA中字符串比较equals和equalsIgnoreCase的区别

爱问面试题:==和equals()和Hashcode()三者的理解