À l'aide de Groovy opérateurs de comparaison avec des objets Date

Je suis une enquête sur une question et couru à travers certains codes suspects portant sur la comparaison de la Date d'instances à l'aide d'opérateurs de comparaison. par exemple,

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

Cette des ressources indique que le ci-dessus est équivalente à la suivante

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

Cependant, la GDK documentation sur les Dates seulement a des exemples en comparant les dates à l'aide compareTo, before, et after et je me souviens précisément d'éviter en utilisant les opérateurs de comparaison sur les Dates en raison d'une expérience avec des résultats inattendus. Sont les deux exemples de code en effet équivalent (puis-je en toute sécurité utiliser des opérateurs de comparaison sur les Dates en Groovy, ou devrais-je utiliser uniquement compareTo, before, et after)?

Merci!

OriginalL'auteur Stephen Swensen | 2011-02-07