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

关于重写equals()方法

关于重写equals()方法

qq_不睡觉的怪叔叔_0 2017-02-20 16:56:13
public boolean equals(Object obj) {  if(this==obj) return true;  if(obj==null) return false;  if(this.getClass()!=obj.getClass()) return false;  Date1 other=(Date1) obj;  if(this.month!=other.month) return false;  if(this.day!=other.day) return false;  if(this.year!=other.year) return false;  return true;   }这个重写中,通过 if(this.getClass()!=obj.getClass()) return false;  不就可以判断出obj是Date1的对象了吗?为什么还需要通过tDate1 other=(Date1) obj;将obj类型转换为Date1 对象?是不是这一行多余了?
查看完整描述

1 回答

已采纳
?
ziom

TA贡献948条经验 获得超1109个赞

没有多余,计算机不是人,它不具备逻辑推理能力,比如,如果太阳在头顶上,我们就可以知道现在的时辰是正午,但你如果告诉计算机太阳在头顶,它并不能由此判断出时辰,此处也是同样的道理。

查看完整回答
1 反对 回复 2017-02-20
  • 1 回答
  • 0 关注
  • 1222 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信