为了账号安全,请及时绑定邮箱和手机立即绑定

关于hashcode()的问题

老师说重写这个函数是为了比较courses里面的name和输入的name的哈希值是否相同,但是这两个是不同对象中的name,哈希值怎么会相同呢?

正在回答

3 回答

本来HashSet下的contains()方法是比较student.courses下对象的哈希码与course2的哈希码是否一样,这当然是不一样的所以返回的是false。

而重写之后,是比较student.courses下对象name的哈希码与course2.name的哈希码是否一样,它们是一样的,所以返回的是true。

0 回复 有任何疑惑可以回复我~

是比较对象的哈希吗是否相同,对象的哈希码相同然后在用equals方法

0 回复 有任何疑惑可以回复我~

哈希值是固定的

主要name的值一样,哈希值就一样

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409791    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

关于hashcode()的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信