Каков наилучший способ определения типа данных в groovy?
Я хотел бы форматировать вывод по-другому, если это дата и т.д.
Ответ 1
Чтобы определить класс объекта, просто вызовите:
someObject.getClass()
Вы можете сократить это до someObject.class в большинстве случаев. Однако, если вы используете это на Map, он попытается получить значение с помощью ключа "class". Из-за этого я всегда использую getClass(), хотя это немного дольше.
Если вы хотите проверить, реализует ли объект конкретный интерфейс или расширяет определенный класс (например, дата), используйте:
(somObject instanceof Date)
или проверить, является ли класс объекта точно определенным классом (не подклассом), используйте:
(somObject.getClass() == Date)
Ответ 2
Простой способ groovy для проверки типа объекта:
somObject in Date
Может применяться и к интерфейсам.
Ответ 3
Чтобы добавить еще один вариант ответа Don, вы также можете использовать старый добрый метод java.lang.Object.getClass().
Ответ 4
Вы можете использовать оператор членства isCase(), который является еще одним способом groovy: