我正在为我的计算机科学课程做一项作业,要求我实现一个 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)