Я пишу свой собственный метод compareTo
для сравнения двух дат. Как мне это сделать?Сравнение двух дат в Java, без сравнения.
Я уже думал об этом вопросе, используя тонны утверждений if, но должен быть лучший способ.
Любые идеи?
Я пишу свой собственный метод compareTo
для сравнения двух дат. Как мне это сделать?Сравнение двух дат в Java, без сравнения.
Я уже думал об этом вопросе, используя тонны утверждений if, но должен быть лучший способ.
Любые идеи?
Если вы имеете в виду java.util.Date, просто сделайте date1.getTime() < date2.getTime()
. Простое сравнение длинных значений.
Это хорошее начало:
public class MyComparator extends Comparator<Date> {
public int compare(Date o1, Date o2){
return o1.getTime() - o2.getTime();
}
}
Например:
TreeSet<Date> ts = new TreeSet<Date>(new MyComparator());
ts.add(new Date(98796541));
ts.add(new Date(59586541));
System.out.println("Earlier is " + ts.first());
Есть три метода, которые могут помочь Date.before(Date)
, Date.after(Date)
и Date.equals(Date)
вы могли бы сделать что-то вроде
public static int compareTo(Date a, Date b) {
if (a.equals(b)) return 0;
return (a.before(b) ? -1 : 1);
}
Использовать значение 'long'? –