刃殇
2016-05-31 20:23
equal()方法重写的目的是什么,hashmap加入的时候会用到equal()方法吗
这是HashMap中put()的源码
ps: put()中直接吊用了putVal,实际为putVal的部分源码
可见是需要同时满足hashcode相等与.equals方法返回true。
楼上说的基本正确,Object的equals方法就是“==”,但是String类型的equals的方法,在java中已经重写了,
所以我们要比较两个Object的方法,只能我们自己给他制定规则,所以要重写equals方法。。。不然计算机,会默认使用“==”比较内存地址的方法来比较
Object的equal方法默认是两个对象的引用的比较,即判断内存地址相等则相等;如果你要判断对象里面的值是否相等,就要重写equal方法了,后面那个应该也要重写吧,欢迎指正
JAVA遇见HTML——Servlet篇
160614 学习 · 1088 问题
相似问题