关注
3.equals和hashcode是什么关系?为什么equals和hashcode要一起重写?
首先equals与hashcode间的关系是这样的:
1、如果两个对象相同(即用equals比较返回true),那么它们的hashCode值一定要相同;
2、如果两个对象的hashCode相同,它们并不一定相同(即用equals比较返回false)
hashcode是用于散列数据的快速存取,如利用HashSet/HashMap/Hashtable类来存储数据时,都是根据存储对象的hashcode值来进行判断是否相同的。
这样如果我们对一个对象重写了euqals,意思是只要对象的成员变量值都相等那么euqals就等于true,但不重写hashcode,那么我们再new一个新的对象,
当原对象.equals(新对象)等于true时,两者的hashcode却是不一样的,由此将产生了理解的不一致,如在存储散列集合时(如Set类),将会存储了两个值一样的对象,
导致混淆,因此,就也需要重写hashcode()
。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 牛客2025年度报告—道心初立,夯实基础2.3W
- 2... 27届学院二本,袋鼠云->快手->腾讯wxg,25年末聊聊我的前端之路8672
- 3... 大四双非水产专业上岸阿里后端(五)6521
- 4... 本科五段大厂实习,秋招五个offer,我的校招结束了6333
- 5... 适可而止吧!你就是“烂泥”5615
- 6... 我的世界观,就是对抗优绩主义的武器3963
- 7... 27双非杀入字节!3158
- 8... 实习被“放养”零产出,该及时止损还是继续苟着?2435
- 9... 被问有没有男朋友 如果有同事欺负你怎么办2176
- 10... 26届双非硕Java秋招总结2001
正在热议
更多
# 实习没人带,苟住还是跑路? #
3139次浏览 100人参与
# 妈妈治愈了你哪些脆皮时刻 #
38165次浏览 338人参与
# 元旦假期你打算怎么过 #
3292次浏览 94人参与
# 非技术岗简历怎么写 #
274185次浏览 3160人参与
# 我们是不是被“优绩主义”绑架了? #
4974次浏览 186人参与
# 实习/项目/竞赛奖项,哪个对找工作更重要? #
102354次浏览 1185人参与
# 大家实习都在做什么? #
3653次浏览 44人参与
# 牛客2025仙途报告 #
23348次浏览 343人参与
# 面试官问过你最刁钻的问题是什么? #
1953次浏览 41人参与
# 找工作如何保持松弛感? #
127221次浏览 1457人参与
# 找工作,行业重要还是岗位重要? #
88478次浏览 1771人参与
# 我来点评面试官 #
37331次浏览 162人参与
# 重来一次,我还会选择这个专业吗 #
397149次浏览 3882人参与
# 2022毕业即失业取暖地 #
125976次浏览 716人参与
# 一人说一家双休的公司 #
2180次浏览 35人参与
# 机械人你觉得今年行情怎么样? #
6058次浏览 87人参与
# 你有哪些缓解焦虑的方法? #
44829次浏览 873人参与
# 实习要如何选择和准备? #
131153次浏览 1524人参与
# 今年你最想重开的一场面试是? #
19162次浏览 178人参与
# 机械人晒出你的简历 #
149132次浏览 889人参与
SHEIN希音公司福利 283人发布

查看4道真题和解析