关注
LZ说的很有道理,equals方法出自Object类,它在Object类中的定义就是"=="
1.但是JDK中String类以及我们自定义的一些类在“两个对象是否相等”这个问题上的衡量标准不同,E.g.
两个所有字符相等的String对象s1,s2。应该是s1.equals(s2)返回true
2.
Object中的equals和hashCode方法用于定位对象在散列表中下标;hashCode在Object的定义就是返回对象的内存起始地址(int类型),而且Java有一个约定:a.equals(b)
== true,则a.hashCode()==b.hashCode(),但其逆命题不要求成立。具体原因可以看下HashMap的get()方法
因此:在override equals方法时,通常需要override
hashCode方法,String的hashCode()定义就是:第0个字符*32^(n -1)
+ 第1个字符*32^(n--2) + ... + 第n-1个字符*32^0
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
10-27 17:28
深圳大学 测试开发 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我是面试官,请用一句话让我破防 #
15823次浏览 100人参与
# 美团开奖 #
182965次浏览 969人参与
# 快手技术岗信息交流阵地 #
15613次浏览 82人参与
# 校招生月薪1W算什么水平 #
15000次浏览 112人参与
# 中美关税战对我们有哪些影响 #
37577次浏览 306人参与
# i人适合做什么工作 #
7688次浏览 81人参与
# “vivo”个offer #
32847次浏览 247人参与
# 读研or工作,哪个性价比更高? #
75069次浏览 762人参与
# 华为保温 #
102231次浏览 382人参与
# 哪些瞬间让你真切感受到了工作的乐趣 #
17079次浏览 79人参与
# 小厂实习有必要去吗 #
69773次浏览 344人参与
# 哪些行业值得去? #
2740次浏览 40人参与
# 秋招什么时候开投比较合适? #
109684次浏览 807人参与
# 如果秋招能重来,我会____ #
29386次浏览 255人参与
# 华为池子有多大 #
107312次浏览 748人参与
# 美团求职进展汇总 #
2805688次浏览 23836人参与
# 上班后和你想的一样吗? #
87334次浏览 666人参与
# 苦尽甘来时,再讲来时路 #
26103次浏览 359人参与
# 为了实习逃课值吗? #
22939次浏览 213人参与
# 大家实习每天都在干啥 #
96968次浏览 536人参与
# 工作压力大怎么缓解 #
119530次浏览 1112人参与
# 如果上班像打游戏,你最想解锁什么技能 #
5449次浏览 55人参与
