[英]Need help in passing Java Generics to Collections.sort()
在将Java泛型列表传递给Collections.sort()时,我需要帮助。 这是我的代码:
List<MyObject> orgMyObjectList = new ArrayList<MyObject>();
Collections.sort(orgMyObjectList, new Comparable<MyObject>() {
public int compareTo(MyObject another) {
// TODO Auto-generated method stub
return 0;
}
});
但是我在Eclipse中遇到了这个编译器错误:Collections类型中的sort(List,Comparator)方法不适用于参数(List,new Comparable <MyObject>(){})
你能告诉我如何解决吗?
当您需要一个比较器时,您正在传递一个比较器。
正如Fredrik所说, Collections.sort()
需要一个Comparator
。 使正确看起来像这样:
List orgMyObjectList = new ArrayList(); Collections.sort(orgMyObjectList, new Comparator() { @Override public int compare(MyObject o1, MyObject o2) { // TODO Auto-generated method stub return 0; } });
是的,有两个问题。 一个是指出的:比较器vs可比(并且不要忘记等于)
另一个是使用// TODO Auto-generated method stub
表明您有很多工作要做。 就是说,您需要编写比较操作。
最好从一个非常简单的东西开始,将这个问题引入您仅为研究此问题而编写的测试/开发程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.