list.stream().sorted(Comparator.comparing(Student::getGrade,Comparator.nullsLast(Integer::compareTo)) .thenComparing(Student::getSortTime, Comparator.reverseOrder())).collect(Collectors.toList());
先根据等级排序,同一等级的再按照时间进行排序,空值根据Comparator.nullsLast放最后,thenComparing在面对空值时赋一个相对值,不然排序会有问题