我被告知 compareTo 必须返回一个 int ......不是布尔值。
例如:
退货
0 如果 a 等于 b
-1 如果 a < b
+1 如果 a > b
我对此感到有些困惑。任何帮助将不胜感激。
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();