【发布时间】:2023-04-11 06:29:01
【问题描述】:
我只是想找到“军官”列表的最大值。我正在处理的任务的规范不允许我使军官具有可比性,因此我使用比较器来比较它们。
但是,编译器抱怨我的参数类型。任何人都可以看到有什么问题吗? (不用担心退货......我还没有这样做。)
在下面的片段之外,officer 是一个已经初始化的 List
Collections.max(officers, new Comparator<Officer>()
{
public int compare( Officer a, Officer b )
{
return -1; //will do after
}
}
);
任何建议将不胜感激!
【问题讨论】:
-
我添加了“作业”标签...
-
确切的错误信息是什么?
-
Collection 类型中的方法 max(Collection extends AnyType>, Comparator super AnyType>) 不适用于参数 (List
, new Comparator (){ }) -
我很确定它只是在抱怨我的通用定义。但是,我找不到我的错误。
-
原来我导入了错误的 Collections 包。我们从教科书中获得了一个自定义的 Collections 包来使用(我完全忘记了),所以它从那个包中提取了方法签名。现在一切都好。谢谢大家:)
标签: java collections max comparator