Collections.max()不正确的参数

问题描述:

我只是试图找到“官员”列表的最大值。我正在处理的任务的规格不允许我使官员具有可比性,所以我使用比较器来比较它们。Collections.max()不正确的参数

但是,编译器正在抱怨我的参数类型。任何人都可以看到有什么不对? (不要担心回报......我还没有这样做。)

在下面的片段之外,军官是一个名单<官员已经被初始化了。

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

任何建议,将不胜感激!

+0

我添加了“家庭作业”标签... – syrion 2011-03-19 23:09:58

+0

抱歉,抱歉。谢谢! – BraedenP 2011-03-19 23:11:59

+0

什么是确切的错误信息? – 2011-03-19 23:16:09

这个编译得很好。这里是一个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。一场疯狂的追逐。 – 2011-03-19 23:34:30

+0

啊,好像我的最后一句话是正确的);) – aioobe 2011-03-19 23:36:33