我只是想找到一个“官员”列表的最大值。我正在进行的任务的规格不允许我使军官具有可比性,所以我使用比较器来比较它们。
然而,编译器抱怨我的参数类型。任何人都可以看到什么是错的? (不要担心返回......我还没有这样做。)
在下面的片段之外,官员是List< Officer>已初始化。
Collections.max(officers, new Comparator<Officer>()
{
public int compare( Officer a, Officer b )
{
return -1; //will do after
}
}
);
任何建议都将不胜感激!
答案 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
}
}
);
}
}
所以,您发布的代码没有错。必须是其他错误的东西。