docs - Groovy/grails cómo determinar un tipo de datos?
grails documentation 2.4 4 (5)
¿Cuál es la mejor forma de determinar el tipo de datos en groovy?
Me gustaría formatear la salida de manera diferente si se trata de una fecha, etc.
Manera simple groovy para verificar el tipo de objeto:
somObject in Date
Se puede aplicar también a las interfaces.
Para determinar la clase de un objeto simplemente llame a:
someObject.getClass()
Puede abreviar esto a someObject.class
en la mayoría de los casos. Sin embargo, si usa esto en un Map
, intentará recuperar el valor con la clave ''clase''. Debido a esto, siempre uso getClass()
aunque es un poco más largo.
Si desea verificar si un objeto implementa una interfaz en particular o amplía una clase en particular (por ejemplo, Fecha) use:
(somObject instanceof Date)
o para verificar si la clase de un objeto es exactamente una clase particular (no una subclase), use:
(somObject.getClass() == Date)
Puede utilizar el operador de membresía isCase (), que es otra forma maravillosa:
assert Date.isCase(new Date())
Solo para agregar otra opción a la respuesta de Don, también puedes usar el buen método antiguo java.lang.Object.getClass()
.
somObject instanceof Date
debiera ser
somObject instanceOf Date