理解Java中的hashCode和equals方法

 

1.equals方法,在JDK默认的状况下比较的是对象的内存地址数据结构

        比较两个对象,须要重写equals方法,将除了比较对象,成员变量也作比较code

2.hashcode方法,默认状况下返回的是一个惟一的整数,表明该实例的内存地址,注意这个数字 并非实际的内存地址,Java是没办法直接获取内存地址的,必须得由C或者C++获取,因此这个方法是用 native修饰的。在HashMap等结构中,保存key时,会根据hashcode决定存储位置。对象

总结:内存

(1)若是两个对象相等,那么他们一定有相同的hashcodehash

(2)若是两个对象的hashcode相等,他们却不必定相等变量

(3)重写equasl方法时,必定要记得重写hashcode方法,尤为用在hash类的数据结构中。方法

 

https://mp.weixin.qq.com/s/_wVLYxmMwJsYsLJOaOQ5Hwqq

相关文章
相关标签/搜索