有时,我们希望对list中的数据进行排序。但是要根据多个字段。
比如根据开始和结束时间。
开始时间和结束时间可以为空。
这时再使用Collections.sort时,就比较麻烦了。
可以改变下思路,采用一个中间临时变量的方式。
这样就可以控制优先显示哪些内容了。
比如需求是有些
显示开始和结束时间都不为空--》结束时间为空,开始时间不为空--》开始时间为空,结束时间不为空--》开始和结束时间都为空。
这时,就可以当结束时间为空时,把seq加一个值,这样就会显示在开始时间为空的前面了。
Collections.sort(list, new Comparator<Test>() {
@Override
public int compare(Tes o1, Test o2) {
return o2.getSeq().compareTo(o1.getSeq());
}
});