==和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 方法