Groovy / grails как определить тип данных?
каков наилучший способ определения типа данных в groovy?
Я хотел бы отформатировать вывод по-разному, если это дата и т. д.
5 ответов
определить класс объекта просто звоните:
someObject.getClass()
вы можете сократить это до someObject.class
в большинстве случаев. Однако, если вы используете это на Map
он попытается получить значение с помощью ключа "class". Из-за этого, я всегда использую getClass()
хотя это немного дольше.
если вы хотите проверить, реализует ли объект определенный интерфейс или расширяет определенный класс (например, Date), используйте:
(somObject instanceof Date)
или проверить, является ли класс объекта is ровно определенный класс (не подкласс его), используйте:
(somObject.getClass() == Date)
простой groovy способ проверить тип объекта:
somObject in Date
может применяться также к интерфейсам.
чтобы добавить еще один вариант ответа Дона, вы также можете использовать старый добрый java.lang.Object.getClass()
метод.
вы можете использовать оператор членства isCase (), который является еще одним заводным способом:
assert Date.isCase(new Date())