问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

java hashcode相同,equals一定为真?equals为真,hashcode不一定为真?

发布网友 发布时间:2022-09-05 08:43

我来回答

2个回答

热心网友 时间:2024-11-30 01:44

hashcode()和equals(object
o)方法是java所有类的基类object类中的方法,所有类都继承了object类以及其中的方法。equals与hashcode的定义必须一致,即:如果x.equals(y)返回true,那么x.hashcode()就必须与y.hashcode()具有相同的值。当然,对于两个不同的对象,x.hashcode()与y.hashcode()基本不会相同(不排除极少数情况会相同)。
在基类object类中,默认的equals方法是判断两个对象是否具有相同的引用,如果具有相同的引用,那它们必然是相等的。不过这种判断方法并不是一直都通用,比如:有的时候,两辆汽车,只要型号配置相同,就可以认为是相等的,出厂日期可以忽略不计。这种时候就需要在你的类中重写equals方法,对于这个类用你自己的方法来判断两个对象是否相等(重写equals方法就必须重新定义hashcode()方法)。
注:如果对两个对象进行==操作,那么就会自动调用object类默认的equals方法来进行比较。希望能帮到你~

热心网友 时间:2024-11-30 01:44

两者之间唯一的必然关系被你说反了,equls返回为true,则两者的hashcode一定相等,意即相等的对象必须具有相等的哈希码。每当equals方法被覆写,通常需要重写hashCode方法从而
保持对象行为的一致性。而具有相等的hashcode的两个对象equals不一定成立。你可以这样认为也行,hashcode是作为一个对象存储的参考,hash表本身是一种散列表,在数据存储这块,功效比较大,而equals是相当于两对象之间的属性(成员变量)“相等”,意即具有相同的行为(方法)。或许这样讲起来理解比较的费劲。举个例子,比如你定义class
A有两个属性,int
aA,aB,在定义一个class
B也有两个属性,int
bA,bB,然后覆写hashcode方法,A类为return
aA*aB;B类为return
bA*bB.现在情况已经很显然了,各自实例化一个对象:a,b,假如:a.aA=b.bA,a.aB=b.bB,相等,或者a.aA=b.bB,a.aB=b.bA两个对象a,b的hashcode一定相等,当时你能说两个对象相等吗?显然不能吧,a与b都是不同类的实例。连equals最基本的obj
instance
of
A或是obj
instance
of
B都不成立。如果是同一个类的不同对象,当两者拥有相同hashcode的时候,则一定相等,或者equals成立的时候则hashcode一定为真,这也就是所谓的相等的对象具有行为一致性。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
要一个带“长”字的成语 成语第二个字是长 预告登记有怎样的效力 ...他朋友借了三十万,现在还不出来,别人告他他会坐牢吗?我该不该借他... 欠网贷30万无力偿还,是否会坐牢? 寄快递什么意思 小配大出的小狗体型随谁狗狗生的小狗体型随谁 贝拉米奶粉最新事件有关于奶粉有问题的吗? 怀孕32周可以吃榴莲吗 榴莲的功效与作用 孕期31周能吃榴莲吗 幼儿园大班教师个人的总结 梦见自己七月二号结婚什么意思? 求一首 生日快乐 的钢琴曲 做视频用!谢谢! 中国西部第一家拿到直销牌照的有那家 唯品会仓储布局属于那种电商仓储模式 什么是电商仓储 宝马gt后空气包一边升一边不升什么情况? 2013年的捷达是国四还能用吗 北京2013全新捷达排放标准 2013捷达是国五吗 自己做酸奶,有哪些注意事项? 酸奶的注意事项有哪些 自制酸奶的注意事项是什么 钓鱼轮3000型2.0的线可绕多少米 用手机怎么申请 怎样用手机号码注册 怎样用手机号申请码 怎么用手机号码申请 新手机号码怎样申请 手机怎么申请码 手机申请码的方法 眼见不一定为实议论文 我需要用一个信号控制两个LED灯, ne555构成多谐振荡器怎么控制led灯的亮度? 公司开业祝福成语 开空调有类似胶水的臭味,怎么回事? 罗婉晴这个名字怎么样? 宋婉晴名字怎样出生时间阴历2014年九月九日阳历11月1日命里缺金,缺水... 中国大学慕课用户是否可以入住 我是男生怎么称呼女声 求助,男生如何发出女声? 和田玉染色怎么鉴别 “年年有今日,岁岁有今朝”的意思是什么? 年年有今日,岁岁有今朝是什么意思呢? “年年有今日,岁岁有今朝”是什么意思? 每天晚上我去补习,哪里光线很暗回家后眼睛干疼会近视吗 隐形眼镜戴久了感觉眼珠凸出来一样很累 近视眼不戴眼镜是不是会度数越来越大 女孩说我现在看别的男人对我的眼睛是一种侮辱,什么回复女孩? ...容易受到伤害,我们要怎样才能保护好自己的眼睛,预 带着隐形眼镜睡觉 近视度会越来越深吗?
  • 焦点

最新推荐

猜你喜欢

热门推荐