時間を比較するとき、カレンダー オブジェクトを TimeInMillis に変換し、比較器を作成する前にどちらが発生したかを比較しています。
たとえば、Calendar event1 と event2 は、過去のある時点のイベントを記述する 2 つのオブジェクトです。これらのイベントに基づいてリストを並べ替え、最近発生したイベントが一番上になるようにしたいと考えています。だから私は次のコードを持っています
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() メソッドを使用することであるかどうかを理解したいと思います。