compareTo はブール値ではなく int を返さなければならないと言われました。
例えば:
戻り値
a が b と等しい場合は 0 a
< b の場合は -1 a
> b の場合は +1
私はそれに少し混乱しています。どんな助けでも大歓迎です。
public int compareTo(Cheese anotherCheese)
throws ClassCastException
{
if (!(anotherCheese instanceof Cheese))
throw new ClassCastException("A Cheese object expected.");
if(getCheeseType().compareTo(anotherCheese.getCheeseType()))
return -1;
else if (getCheeseType().compareTo(anotherCheese.getCheeseType()))
return 1;
else
return cheesePrice > anotherCheese.getCheesePrice();
}
コンパイルすると、次のようなエラー メッセージが表示されます。
互換性のないタイプ
if(getCheeseType().compareTo(anotherCheese.getCheeseType()))
互換性のないタイプ
else if (getCheeseType().compareTo(anotherCheese.getCheeseType()))
互換性のないタイプ
return cheesePrice > anotherCheese.getCheesePrice();