list按照时间排序,时间为空排序
最近在项目中收到运营反馈的一个bug,大致看日志后发现问题,问题出现在Collections.sort(VO);这串代码上,当时间未空是系统就会报错,那怎么处理呢?。
看下面代码可以实现时间升序模式,空的时间在最上面
// An highlighted block
private static void ListSort(List<VO> list) {
Collections.sort(list, new Comparator<VO>() {
@Override
//定义一个比较器
public int compare(VO o1, VO o2) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
Date dt1 = o1.getDealTime();
Date dt2 = o2.getDealTime();
if(CommonUtil.isEmpty(dt1)){
return -1;
}
if(CommonUtil.isEmpty(dt2)){
return -1;
}
if (dt1.getTime() > dt2.getTime()) {
return 1;
} else if (dt1.getTime() < dt2.getTime()) {
return -1;
} else {
return 0;
}
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
});
}
运行结果是这样的
如果需要将null的时间放到下面,只需要把这串的return的值都改为1就好了。