2014-04-25 4 views
0

두 개의 직원 개체가 같은 경우 "getID()"메서드에서 같은 번호가 반환되는지 확인하고 싶습니다. 나는 equals 메서드를 잘못 사용하고 있다고 생각한다. equals 메서드를 사용하려고 할 때 오류가 발생했습니다.

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

내가이 오류 :

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

이 내가 편집 할 수있는 것입니다 : 나는이 코드를 계속해야

: 뭔가 코드의 마지막 줄 잘못 생각

컴파일 결과 : 오류 : Employee.java:25 : 오류 : 기호를 찾을 수 없습니다.

도움을 주셔서 감사합니다. 감사합니다.

답변

0

수는 당신이 해시 코드를()뿐만 아니라 우선 확인과 일치 한 오버라이드 (override)하는 경우

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()); 
} 

객체 인 경우 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(); 
} 

경우.

관련 문제