码农_鑫森淼焱垚
2015-09-06 09:21
这里我可以使用重写后自动生成的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;
}
视屏中重写了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;
}
运行一遍检测一下,眼瞅着挺正确。
Java入门第三季
409792 学习 · 4340 问题
相似问题