码迷,mamicode.com
首页 > 编程语言 > 详细

java ==、equals、hashcode有什么区别

时间:2019-03-03 20:29:28      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:存储空间   equals   object   图片   地址转换   mic   obj   java   als   

1、== 用来比较两个对象的存储空间

2、equals是Object类提供的方法之一,每个java类都继承Object类,所以每一个对象都具有equals方法,所以在没有覆盖equals方法的情况下,equals与==运算一样,比较的是引用

所以要比较两个对象的内容 要重写equals()方法

3、hashCode()方法是区分两个对象是否相等,返回内存中地址转换成的一个int值

一般覆盖equals()也要覆盖hashCode()方法

技术图片

equals相等 hashcode就相等 、equals不等hashcode可能不等或者等

hashcode相等 equals可能等可能不等 hashcode不等equals一定不等

 

java ==、equals、hashcode有什么区别

标签:存储空间   equals   object   图片   地址转换   mic   obj   java   als   

原文地址:https://www.cnblogs.com/zquan/p/10467257.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!