equal()方法重写的目的是什么

来源:2-9 如何保证不添加重复商品进购物车

刃殇

2016-05-31 20:23

equal()方法重写的目的是什么,hashmap加入的时候会用到equal()方法吗

写回答 关注

3回答

  • qq_这是只仓鼠_0
    2017-03-07 20:00:35

    这是HashMap中put()的源码

    ps: put()中直接吊用了putVal,实际为putVal的部分源码

    http://img.mukewang.com/58bea01f0001afa705900080.jpg

    可见是需要同时满足hashcode相等与.equals方法返回true。

  • 扣子飞飞
    2016-06-05 22:49:16

    楼上说的基本正确,Object的equals方法就是“==”,但是String类型的equals的方法,在java中已经重写了,

    所以我们要比较两个Object的方法,只能我们自己给他制定规则,所以要重写equals方法。。。不然计算机,会默认使用“==”比较内存地址的方法来比较

  • Like_a_fool
    2016-06-01 21:04:18

    Object的equal方法默认是两个对象的引用的比较,即判断内存地址相等则相等;如果你要判断对象里面的值是否相等,就要重写equal方法了,后面那个应该也要重写吧,欢迎指正

JAVA遇见HTML——Servlet篇

本门课程在JSP课程的基础上,深入介绍Servlet的基础知识

160614 学习 · 1088 问题

查看课程

相似问题