Quelle est la meilleure façon 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.
Quelle est la meilleure façon 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.
Réponses:
Pour déterminer la classe d'un objet, appelez simplement:
someObject.getClass()
Vous pouvez abréger cela en someObject.class
dans la plupart des cas. Cependant, si vous l'utilisez sur un, Map
il essaiera de récupérer la valeur avec la clé 'class'. Pour cette raison, j'utilise toujoursgetClass()
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 (par exemple Date), utilisez:
(somObject instanceof Date)
ou pour vérifier si la classe d'un objet est exactement une classe particulière (pas une sous-classe de celle-ci), utilisez:
(somObject.getClass() == Date)
Map
instance
def test = {} println test.getClass()
classe Script1 $ _run_closure1 ??
Façon simple et groovy de vérifier le type d'objet:
somObject in Date
Peut être appliqué également aux interfaces.
instanceof
est idéal pour le filtrage basé sur l'interface.