【发布时间】:2017-04-30 23:11:53
【问题描述】:
我知道有很多与此主题相关的问题,但我无法完全理解导致此错误的原因
Collections.sort(noteList,new Comparator<ClassNote>(){
@Override
public int compare(ClassNote b, ClassNote a) {
DateFormat formatter = new SimpleDateFormat("MMMM dd HH:mm", Locale.US);
try {
Date date2 = formatter.parse(b.getCallDate());
Date date1 = formatter.parse(a.getCallDate());
if ( date1 == null ) {
if ( date2 == null) {
return 0;
}
return 1;
}
if ( date2 == null ) {
return -1;
}
return date2.compareTo(date1);
} catch (ParseException e) {
e.printStackTrace();
return 1;
}
}
});
有谁知道为什么它不起作用以及如何解决它?
【问题讨论】:
-
你收到
ParseException了吗?你检查过logcat吗?我不知道printStackTrace在 Android 上做了什么。如果你得到任何解析异常,那么你的比较函数肯定是错误的,但首先我需要知道你是否有任何异常。如果没有,我看不出比较函数有什么问题。 -
显然我得到了 ParseExceptions,它似乎搞砸了整个排序算法
标签: java android comparator