Quel est le meilleur moyen de déterminer le type de données dans groovy?
J'aimerais formater la sortie différemment s'il s'agit d'une date, etc.
Pour déterminer la classe d'un objet, appelez simplement:
someObject.getClass()
Vous pouvez abréger ceci en someObject.class
dans la plupart des cas. Cependant, si vous utilisez ceci sur une Map
, il tentera de récupérer la valeur avec la clé 'class'. Pour cette raison, j'utilise toujours getClass()
même si c'est un peu plus long.
Si vous voulez vérifier si un objet implémente une interface particulière ou étend une classe particulière (Date, par exemple), utilisez:
(somObject instanceof Date)
ou pour vérifier si la classe d'un objet est exactement une classe particulière (et non une sous-classe de celle-ci), utilisez:
(somObject.getClass() == Date)
Un moyen simple de vérifier le type d'objet:
somObject in Date
Peut être appliqué aussi aux interfaces.
Juste pour ajouter une autre option à la réponse de Don, vous pouvez également utiliser la bonne vieille méthode Java.lang.Object.getClass()
.
Vous pouvez utiliser l’opérateur d’appartenance isCase (), ce qui est un autre moyen génial:
assert Date.isCase(new Date())