Java Comparable Interface compareTo方法

时间:2010-03-05 00:25:31

标签: java interface overloading comparable compareto

我没有看到任何错误,但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 个答案:

答案 0 :(得分:7)

拼写为instanceof

此外,正如Tom Hawtin在评论中提到的,如果您使用的是Java 1.5或更高版本,则可以编写compareTo(Employee emp)以避免使用instanceof。在Object Ordering Java教程中有关于编写可比较类型的详细部分。