Java Comparable Interface - метод сравнения - PullRequest
3 голосов
/ 05 марта 2010

Я не вижу ничего, что я делаю неправильно, но NetBeans выдает мне следующую ошибку:

incomparable types
required: boolean
found: java.lang.Object


public int compareTo(Object obj)  {
    if( obj instaceof Employee){
       Employee employee = (Employee) obj;
       if(this.weekly_earnings > employee.weekly_earnings)
           return 1;
       else if(this.weekly_earnings == employee.weekly_earnings)
           return 0;
       else
           return -1;
    }
    else{
        System.out.println("Error");
    }
}

1 Ответ

7 голосов
/ 05 марта 2010

Это пишется instanceof.

Кроме того, как отметил Том Хавтин в комментарии, если вы используете Java 1.5 или более позднюю версию, вы можете написать compareTo(Employee emp), чтобы вообще не использовать instanceof. В руководстве по Java Object Ordering *1007* есть подробный раздел о написании сопоставимых типов.

...