课程
/后端开发
/Java
/Java入门第三季
老师最后讲的好快啊,为什么上一节不用重写hashCode方法,这一节就需要了呢?
2014-10-30
源自:Java入门第三季 6-2
正在回答
详细的可以去看HashMap的contains实现,那里是equals和hashCode两个同时使用了,所以在有Map的时候,必须两个都要验证。HashSet也验证两个。但是在ArrayList里不验证hashCode,所以你不重写hashCode也无所谓。
equals和hashcode方法要同时重写,并且要在equals为true的时候,hashCode必须要相同。这个已经是一种不成文的规定了,这两个方法要重写就要一起重写,而且IDE里也会将只重写一个视为警告。所以这两个方法要同时重写。
哥呀两节讲的都不是一个内容的,上一节是list,这节是set,能一样吗。。。视频中也讲到了,为什么要重写hashCode,请哥再仔细看下视频讲解
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
1 回答还有没有类似的项目做练习呢
3 回答题目中答案千万种,为何我的错了
6 回答交作业(1-9图书查询系统)
4 回答关于其中Student st = students.get(ID);这句的问题
1 回答为什么承装学生对象的时候报错
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号