小编Gai*_*erd的帖子

尽管在方法中返回 int,compareTo() 方法仍抛出“此方法必须返回 int”错误

我正在为我的计算机科学课程做一项作业,要求我实现一个 Comparable 接口。

我们没有详细讨论接口,只是被告知它比较两个对象并返回小于、大于和等于,但实际上就是这样,这令人沮丧。

我打算对它做更多的研究,但现在我发现我很困惑为什么我的 compareTo() 方法的实现不起作用。

Eclipse 给我一个错误,compareTo() 必须返回一个int,但如果您注意到,我正在返回一个整数值。那么可能是什么问题呢?

public int compareTo(Task taskToCompare) {
    if(this.complete && taskToCompare.isComplete()) {
        if(this.priority == taskToCompare.getPriority()) {
            return 0;
        }
        else if(this.priority < taskToCompare.getPriority()){
            return -1;
        }
        else if(this.priority > taskToCompare.getPriority()) {
            return 1;
        }
    } else if(this.complete == true && taskToCompare.isComplete() == false) {
        return -1;
    } else if(this.complete == false && taskToCompare.isComplete() == true) {
        return 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

java return-type return-value compareto

2
推荐指数
1
解决办法
122
查看次数

标签 统计

compareto ×1

java ×1

return-type ×1

return-value ×1