我只是想找到“官员”列表的最大值。我正在处理的作业规范不允许我使警官具有可比性,因此我使用比较器进行比较。
但是,编译器在抱怨我的参数类型。谁能看到什么问题? (不必担心退货……我还没有这样做。)
在下面的片段之外,军官是已初始化的List 。
Collections.max(officers, new Comparator<Officer>()
{
public int compare( Officer a, Officer b )
{
return -1; //will do after
}
}
);
任何建议,将不胜感激!
最佳答案
这样编译就可以了。这是一个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
}
}
);
}
}
因此,您发布的代码没有错。一定是其他错误的东西。
关于java - Collections.max()不正确的参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5365536/