【问题标题】:error when attempt to use equals method尝试使用 equals 方法时出错
【发布时间】:2014-06-10 15:51:20
【问题描述】:
如果两个员工对象相同,那么我想检查“getID()”方法是否返回相同的数字。我想我用错了equals方法。我认为最后一行代码有问题:
我必须保留这段代码:
public boolean equals( Object b )
{
if ( ! (b instanceof Employee) )
return false;
这是我可以编辑的:
(super.equals().getID()).equals(b.getID());
我收到此错误:
编译结果:错误:
Employee.java:25:错误:找不到符号
感谢您的帮助。我很感激。
【问题讨论】:
标签:
equals
public
superclass
super
public-method
【解决方案1】:
如果 getID() 返回的“数字”是原语
public boolean equals( Object b ){
if (this == b) return true;
if ( ! (b instanceof Employee) )
return false;
final other=(Employee)b;
return getID()==other.getID();
}
如果数字是对象
public boolean equals( Object b ){
if (this == b) return true;
if ( ! (b instanceof Employee) )
return false;
final other=(Employee)b;
return getID().equals(other.getID());
}
如果您覆盖 equals,请确保您也覆盖 hashCode()。