我现在正在学习基本的 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;
}
}