繁体   English   中英

在将Java泛型传递给Collections.sort()时需要帮助

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM