课程
/后端开发
/Java
/Java入门第三季
在重写方法中明明只判断name,难道是key的查询压根不调用eq和ha这两个方法吗?
2018-07-26
源自:Java入门第三季 6-4
正在回答
key是String类型的,value是Student类型的,是自定义的。Java中自带的对象类型(例如String,StringBuilder等)都已经被重写过equals()方法和hashcode()方法等,在java api里的equals方法中,说明了覆盖了Object中的equals方法,所以有没有重写equ和ha对它就没有影响了,人家自身就重写过了。
而自定义的对象(Student),则需要自己手动去重写,这又不是java自带的,想得到理想的比较结果就得重写了。
在进行值的比较之前,不也是有对Key比较的吗?然后重写了方法。可是key这个比较完全不受影响
不是很理解你的描述。只判断name就是对键值对的值进行比较,就不用理会键的判断处理啊。。
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
3 回答为什么containskey()不用重写equals方法呢
2 回答为什么要重写equals方法呢
3 回答第一个输入方法的Scanner.close()会对下一个输入方法的Scanner.next()有影响,为什么?
2 回答为什么不能重写contains中的equals的方法
2 回答为什么在Course类中重写equals方法,而不是在别的地方呢?