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

hashcode方法重写的疑问

不懂重写的hashcode方法里面的语句的意义何在- -不是要比较student.course里的name和输入的name的hashcaode值么- - 重写的里面的返回值为什么是result*prime+((name==null)?0:name.hashCode());这个的意义是什么 ,没重写之前的hashcode是什么样子的 为啥会不同啊?

正在回答

1 回答

result*prime+((name==null)?0:name.hashCode())这句话是一个三目运算,意思是计算result和primed的乘积然后加name==null的结果,如果为真的话那么执行0, 如果为假执行name.hashCode()

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

ttao1993 提问者

- -我知道啊 我的意思是生成的返回值result是和谁比较相等,之后执行equals()........
2014-12-29 回复 有任何疑惑可以回复我~
#2

ttao1993 提问者

老师不是说先比较俩个的hashcode值是否相等么- -这个返回的result是和我们自己输入的name的hashcode比较么?
2014-12-29 回复 有任何疑惑可以回复我~
#3

happyjey 回复 ttao1993 提问者

是的,与自己输入的name做比较
2015-06-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

hashcode方法重写的疑问

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