为了账号安全,请及时绑定邮箱和手机立即绑定

containsValue方法为啥要重写equals方法啊?单独重写hashcode方法不行吗?

为什么非得重写equals方法啊?equals方法本身不就是比较两个字符是否相等的吗?这一节里面“小红”不相等我暂且理解成他们的hascode方法返回的哈西码不等,为什么还要重写equals方法?希望明白的人给个解释,谢谢!

正在回答

2 回答

因为value存储的的是Students,他新建的是一个(null,小红)这样的对象,和map里面存储的(2,小红)这个对象是不相等的。重新equals方法之后,只比较name这个值,所以两个类就相等了。

1 回复 有任何疑惑可以回复我~

http://www.cnblogs.com/skywang12345/p/3324958.html  这里说的还是比较清楚的

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

containsValue方法为啥要重写equals方法啊?单独重写hashcode方法不行吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信