问答详情
源自:6-2 学生选课---判断 Set 中课程是否存在

hashcode方法重写的疑问

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

提问者:ttao1993 2014-12-26 21:14

个回答

  • 伊兮尘昔
    2014-12-29 11:13:20

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