¿Cuál es la mejor manera de determinar el tipo de datos en groovy?
Me gustaría formatear la salida de manera diferente si es una fecha, etc.
¿Cuál es la mejor manera de determinar el tipo de datos en groovy?
Me gustaría formatear la salida de manera diferente si es una fecha, etc.
Respuestas:
Para determinar la clase de un objeto simplemente llame:
someObject.getClass()
Puede abreviar esto 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 usogetClass()
aunque sea un poco más largo.
Si desea verificar si un objeto implementa una interfaz particular o extiende una clase 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 de él), use:
(somObject.getClass() == Date)
Map
instancia
def test = {} println test.getClass()
clase Script1 $ _run_closure1 ??
Manera simple y maravillosa de verificar el tipo de objeto:
somObject in Date
Se puede aplicar también a las interfaces.
Solo para agregar otra opción a la respuesta de Dónal, también puedes usar el java.lang.Object.getClass()
método antiguo .
instanceof
Es ideal para el filtrado basado en la interfaz.