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

关于自动生成equals()方法

这里我可以使用重写后自动生成的equals()方法吗??

这是在Sourse-Generate hasCode() and equals()

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

Course other = (Course) obj;

if (course == null) {

if (other.course != null)

return false;

} else if (!course.equals(other.course))

return false;

return true;

}


正在回答

3 回答

视屏中重写了equal方法,他是比较了name的值是否相等;如果自动重写,比较的是id和name两个值都相同时候才返回true;可以手动把自动生成的id比较代码去掉,那么和手动是一样的效果;

一下是自动生成的:

public boolean equals(Object obj) {

     if (this == obj)

     return true;

     if (obj == null)

     return false;

     if (getClass() != obj.getClass())

     return false;

     Course other = (Course) obj;

     if (id == null) {

                 if (other.id != null)

                 return false;

     } else     if (!id.equals(other.id))

                  return false;

     if (name == null) {

                     if (other.name != null)

                     return false;

     } else     if (!name.equals(other.name))

                 return false;

     return true;

}


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

码农_鑫森淼焱垚 提问者

非常感谢!
2015-11-09 回复 有任何疑惑可以回复我~

运行一遍检测一下,眼瞅着挺正确。

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

举报

0/150
提交
取消

关于自动生成equals()方法

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