【问题标题】: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()。

    【讨论】:

      猜你喜欢
      • 2013-09-20
      • 2012-05-09
      • 2021-08-11
      • 1970-01-01
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多