私は今、基本的な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;
}
}