Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要向Collections.sort()传递Java泛型方面的帮助_Java_Generics - Fatal编程技术网

需要向Collections.sort()传递Java泛型方面的帮助

需要向Collections.sort()传递Java泛型方面的帮助,java,generics,Java,Generics,我需要帮助将Java泛型列表传递给Collections.sort()。这是我的密码: List<MyObject> orgMyObjectList = new ArrayList<MyObject>(); Collections.sort(orgMyObjectList, new Comparable<MyObject>() { public int compareTo(MyObject another) { //

我需要帮助将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;
        }
    });
List orgMyObjectList=new ArrayList();
Collections.sort(orgMyObjectList,new Compariable(){
公共整数比较(MyObject另一个){
//TODO自动生成的方法存根
返回0;
}
});
但我在eclipse中遇到了以下编译器错误: 类型集合中的方法排序(List,Comparator)不适用于参数(List,newcomparable(){})


您能告诉我如何修复它吗?

当它需要一个比较器时,您正在传递一个Comparable。

正如Fredrik所说,
Collections.sort()
需要一个
比较器。使其正确看起来像这样:

List orgMyObjectList = new ArrayList(); Collections.sort(orgMyObjectList, new Comparator() { @Override public int compare(MyObject o1, MyObject o2) { // TODO Auto-generated method stub return 0; } }); List orgMyObjectList=新建ArrayList(); Collections.sort(orgMyObjectList,new Comparator(){ @凌驾 公共整数比较(MyObject o1,MyObject o2){ //TODO自动生成的方法存根 返回0; } });
是的,有两个问题。一个是值得注意的:比较器vs Compariable(不要忘记相等)

另一个是使用
//TODO自动生成的方法存根
发布,这表明您有很多工作要做。这意味着您需要编写比较操作

最好从非常简单的事情开始,将这个问题拉到一个测试/开发程序中,您编写这个程序只是为了研究这个问题