ここでこの正確な質問を見たことがないので、驚いています。
以下はコンパイルされません。
public int compareTo( Object o )
{
if ( this.order < ((Category o).order) )
{
return -1;
}
else if ( this.order > ((Category o).order) )
{
return 1;
}
else
{
return 0;
}
}
これを変更してオブジェクトをキャストし、その参照を条件ステートメントの外の新しいオブジェクトに保存すると、問題が修正されます。
Category cat = ( Category )o;
if ( this.order < cat.order )
// Etc...
私の質問は、なぜこの動作が Java で許可されていないのですか? (具体的には Java 5)
編集:ああ!皆さん、ありがとうございました。あいまいなエラー メッセージを表示する最新の IDE をくそくらえ。私はそれらを値引きし始めましたが、今回は何の役にも立ちませんでした。(Netbeans は、括弧の欠落とセミコロンの欠落の両方について私に警告していました...)