==和equals以及hashcode

Posted speak out now.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了==和equals以及hashcode相关的知识,希望对你有一定的参考价值。

==是操作符,用来判断内存地址是否相同。无论是基本类型还是引用类型。

equals是Object的方法,直接应用了==,由于是对象的方法,只能判断对象,不能被基本类型变量使用。要想实现不同的equals功能可以对其进行重写。

hashcode也是Object的方法,不能被基本类型调用。基于内存地址返回一个不固定位数的int型整数。同一个对象的hashcode一定是一样的。不同对象的hashcode也可能一样(产生哈希碰撞)。

以上是关于==和equals以及hashcode的主要内容,如果未能解决你的问题,请参考以下文章

彻底弄懂Java中的equals()方法以及与"=="的区别

java中“==”和equals()以及hashCode()的理解

java中“==”和equals()以及hashCode()的理解

java 数组的 toString 方法和 equals 方法以及 java.lang.Object 对象的 toString 方法和 equals 方法

Java的==和equals()以及自动装箱拆箱

getClass()和instanceof以及类的equals方法