hashcode方法

hashcode方法

能不能请大神讲解一下hashcode方法中的代码是什么意思,看不懂

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好~Hashcode 方法是我们eclipse可以生成直接拿来用的,里面内容根据需求用严格的算法来实现的功能;

可以提高我们找的效率,根据规则来进行查找,符合哪个规则就在哪个桶里,再用equals方法判断这个桶里具体是哪个相等,如果解决了你的疑惑,请采纳,祝学习愉快。

 


  • weixin_慕斯3027614 提问者 #1
    可不可以详细地解释一下代码呢?不胜感激! @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + age; result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((species == null) ? 0 : species.hashCode()); return result; }
    2019-04-25 15:21:52
  • 初一 回复 提问者 weixin_慕斯3027614 #2
    同学你好~这个是根据下面的算法生成一个唯一的标识,就像人的身份证一样哦! 比方说你有一个对象,它这个对象的Hashcode值是1677*,那它这个值是怎么来的: 第一个先31*1+传入的Month的值; 再用31*第一个算出来的值+看name是不是为空是就加上零,不为空就加上name的hashcode值; 然后再用31*第二个算出来的值+看species是不是为空是就加上零,不为空就加上species的hashcode值; 最后传出来一个很长的Int类型值。 如果hashcode一致,就不用去验证equals方法了,提高了效率呢 如果解决了你的疑惑,请采纳,祝学习愉快~
    2019-04-25 17:49:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师