对这个地方不懂

对这个地方不懂

@Override

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + month;

result = prime * result + ((name == null) ? 0 : name.hashCode());

result = prime * result + ((speices == null) ? 0 : speices.hashCode());

return result;

}

@Override

public boolean equals(Object obj) {

//判断对象是否相等,相等则返回true,不用继续比较属性了 

if (this == obj)

return true;

//判断obj是否为Cat类对象

if (obj.getClass()== Cat.class) {

Cat cat=(Cat)obj;

    return cat.getName().equals(name)&&(cat.getMonth()==month)&&(cat.getSpeices().equals(speices));

}

return false;

}

}


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

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

1回答
好帮手慕小班 2019-05-30 10:37:41

同学你好,这里是在类中重写的hashCode和equals方法,这里hashCode是将所有属性通过一系列算法将所有属性通过计算hash值来减少属性的重复性,equals方法中则是比较的本类中的对象和传入的对象地址、每个属性的内容是否相同,来做到比较是否一致的方法!

这里是编辑器生成的两个方法,在以后的开发中,无论Idea还是Eclipse都可以自动生成哦!

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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