求个java list排序的问题

一个list中存放了Student对象n个 现对list中的Student对象进行排序 要求:班级升序,如果班级相同 按照学号降序排列 !

我现在用Collections.sort实现了,在测试中没有问题 但是,在实际的插入数据排序的时候 开始顺序正确,后面学号降序顺序就不对了 不知道哪里的原因 求高手点播
class Student{
private Integer class;
private Integer no;

get();
set();

}

Collections.sort(list, new Comparator(){

        @Override
        public int compare(Student o1, Student o2) {
            if(o1.getClass()!=o2.getClass()){

                return o1.getClass().compareTo(o2.getClass());
            }else{

                return o2.getNo().compareTo(o1.getNo());
            }
        }
    });

很困惑 不知道哪里的问题!

3个回答

鄙人大概想了三种方式:
1.第一种:借助工具类 C......
答案就在这里:java List 排序问题
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

在学号的return处加个负号

你用compareTo比较时,为真就返回true,加负号之后,就会取反,相当于把序号相反输出

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问