比较时间时,我将日历对象转换为 TimeInMillis,然后在编写比较器时比较它们中的哪一个。
例如,日历 event1 和 event2 是描述过去某个时间的事件的两个对象。我想根据这些事件对列表进行排序,最近发生的事件排在最前面。所以我有以下代码
private class LeastRecentEventComparator implements Comparator<Event>
{
@Override
public int compare(Event o1, Event o2)
{
if (o1.getTimeInMillis() < o2.getTimeInMillis())
{
return -1;
}
else if (o1.getTimeInMillis() > o2.getTimeInMillis())
{
return 1;
}
return 0;
}
}
我想了解更好的方法是使用 Calendar.after() 还是 Calendar.before() 方法。