Использование операторов сравнения Groovy с объектами Date

I ' m исследовал проблему и наткнулся на подозрительный код, связанный со сравнением экземпляров Date с использованием операторов сравнения. например,

    def stamp = ... //Date
    def offset = ... //Integer
    def d = new Date(stamp.time + offset)
    if (d < new Date()) {
        ...
    }

Этот ресурс указывает, что приведенное выше эквивалентно следующему

    def stamp = ... //Date
    def offset = ... //Integer
    def d = new Date(stamp.time + offset)
    if (d.compareTo(new Date()) < 0) {
        ...
    }

Однако в документации GDK по датам есть только примеры сравнения дат с использованием compareTo , до и после , и я, кажется, припоминаю, как специально избегал использования операторов сравнения в Dates из-за опыта с неожиданными результатами. Действительно ли два приведенных выше примера кода эквивалентны (то есть могу ли я безопасно использовать операторы сравнения с датами в Groovy, или мне следует использовать только compareTo , до и после )?

Спасибо!

11
задан Stephen Swensen 7 February 2011 в 21:08
поделиться