我正在学习基础的Java知识,但是我的代码出现了问题,我无法解决。问题就是如标题所说,我的Java编译器提示我的自定义compareTo方法出错,说它需要返回一个int类型的值。但是问题是,据我所知,它确实返回了一个int类型的值。然而,它仍然给我报错。请问有人能指出我的代码哪里出了问题吗?我已经在我的类中实现了Comparable接口。这是我的方法:
public int compareTo(Homework other) {
if (getDaysLate() < other.getDaysLate()) {
return -1;
} else if ((dateSubmitted == other.dateSubmitted)
&& (files.compareTo(other.files) == -1)) {
return -1;
} else if ((dateSubmitted == other.dateSubmitted)
&& (files == other.files)) {
if (name.compareTo(other.name) == -1) {
return -1;
} else if (name.compareTo(other.name) == 1) {
return 1;
} else if (name.compareTo(other.name) == 0) {
return 0;
}
} else {
return 0;
}
}