课程
/后端开发
/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中你必须懂得常用技能,不容错过的精彩,快来加入吧
2 回答sort的排序
2 回答cr2不应该在cr1前面吗?
1 回答wiki是维基百科的意思吗?
1 回答try...catch异常抛出提示及子父类
2 回答try-catch-finally问题