185 votes

Groovy / Grails comment déterminer un type de données?

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.

261voto

Dónal Points 61837

Pour déterminer la classe d'un objet appelez simplement:

someObject.getClass()

Vous pouvez abréger ce someObject.class dans la plupart des cas. Toutefois, si vous utiliser cette fonction sur un Map il va essayer de récupérer la valeur avec la touche "classe". De ce fait, j'ai toujours utiliser 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 s'étend une classe particulière (par exemple, Date) utilisation:

(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)

34voto

Michal Zmuda Points 716

Un moyen simple de vérifier le type d'objet:

 somObject in Date
 

Peut être appliqué aussi aux interfaces.

3voto

Pops Points 10137

Juste pour ajouter une autre option à la réponse de Don, vous pouvez toujours utiliser la bonne vieille méthode java.lang.Object.getClass() .

-22voto

Mike N Points 97

somObject instanceof Date

devrait être

somObject instanceOf Date

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X