hashcode的重写没有思路!

hashcode的重写没有思路!

重复的内容依然能输出出来

@Override
public int hashCode() {
   return super.hashCode();
}

@Override
public boolean equals(Object obj) {
   if(this==obj){
       return true;
   }

   if(obj.getClass()==Students.class){
       Students students=(Students)obj;
       return students.getName().equals(name)&&students.getStuld()==stuld;
   }
   return false;
}

正在回答

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

2回答

hashCode()的重写,你可以返回它自己的一个ID,那学生的ID不同,就肯定是不同的。

  • Long33 提问者 #1
    非常感谢!
    2017-05-16 18:53:32
  • public int hashCode() { return this.getStuld(); } 之后在测试类中调用hashCode()方法去做判断么?
    2017-05-19 00:15:57
喜欢做梦的鱼 2017-05-19 10:46:47

当数据存入HashSet时,会自动调用hashCode方法验证数据是否重复。

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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