2011-03-19 19 views
0

私は単に「役人」のリストの最大値を見つけようとしています。私が取り組んでいる課題のスペックは、私が役員を匹敵させることを許していないので、代わりにそれらを比較するためにコンパレータを使用しています。Collections.max()不適切な引数

しかし、コンパイラは自分の引数の型について不平を言っています。誰が間違っているのを見ることができますか? (復帰について心配しないでください...私はまだそれをしていません)

以下の部分の外に、役員はリスト<役員>が初期化されています。

Collections.max(officers, new Comparator<Officer>() 
    { 
     public int compare(Officer a, Officer b) 
     { 
      return -1; //will do after 
     } 
    } 
); 

ご了承ください。

+0

「宿題」タグを追加しました。 – syrion

+0

おっと、申し訳ありません。ありがとう! – BraedenP

+0

正確なエラーメッセージとは何ですか? –

答えて

1

これはうまくコンパイルされます。ここにありますideone.com demo

import java.util.*; 

class Officer { 
} 

public class Test { 

    public static void main(String[] args) { 

     List<Officer> officers = new ArrayList<Officer>(); 

     Collections.max(officers, new Comparator<Officer>() 
       { 
        public int compare(Officer a, Officer b) 
        { 
         return -1; //will do after 
        } 
       } 
      ); 
    } 
} 

あなたが投稿したコードに何も問題はありません。それ以外の何かが間違っている必要があります。

+0

元の投稿のコメントを確認してください... chit。野生のガチョウの追跡。 –

+0

ああ、私の最後の文が正しいと思われる;) – aioobe