尝试使用equals方法时出错

时间:2014-04-25 05:01:13

标签: equals public superclass super public-method

如果两个雇员对象相同,那么我想检查“getID()”方法是否返回相同的数字。我想我使用equals方法错了。我认为最后一行代码有问题:

我必须保留此代码:

public boolean equals( Object b )
{
  if ( ! (b instanceof Employee) )
    return false;

这是我可以编辑的内容:

(super.equals().getID()).equals(b.getID());

我收到此错误:

编译结果:错误: Employee.java:25:错误:找不到符号

感谢您的帮助。我很感激。

1 个答案:

答案 0 :(得分:0)

如果getID()返回的“number”是原语

public boolean equals( Object b ){
   if (this == b) return true; 
   if ( ! (b instanceof Employee) )
      return false;
   final other=(Employee)b;
   return getID()==other.getID();
}

如果number是Object

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()。