cat内中重写的方法什么时候调用?

cat内中重写的方法什么时候调用?

1.重写的hashcode和equals在什么时候被调用的?add的时候?
2.这里的equals方法的参数问题
cat.getName().equals(name)
这里的参数name怎么理解?
这name如何能代表set内已经存在的属性


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
cheswag123 2018-05-15 16:35:19

你问的刚好是我想问的

irista23 2017-09-11 12:01:28

涉及对象比较时会调用equals()方法。equals()又会调用hasCode()方法。name是类的成员属性,是通过构造方法传进来的。所以可以用来代表已经存在的数据。而cat是通过equals()方法传进来转换过来的用于比较的数据。

  • 重写的equals里面并没有调用hashCode方法啊,为什么说equals会调用hashCode
    2018-07-26 16:39:40
  • 当把对象加入HashSet时,HashSet会使用对象的hashCode来判断对象加入的位置,这时就会对对象的hashCode进行比较,如果哈希值一样,接着会比较equals(), 如果 equals()返回true,HashSet就视为同一个元素。如果equals为false就不是同一个元素。
    2018-07-26 16:52:09
  • 明白了,谢谢!
    2018-07-30 14:17:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师