Каков наилучший способ определения типа данных в Groovy?
Я хотел бы отформатировать вывод по-разному, если это дата и т. Д.
Чтобы определить класс объекта просто позвоните:
someObject.getClass()
Вы можете сократить это someObject.class
в большинстве случаев. Однако, если вы используете это на a, Map
он попытается получить значение с ключом 'class'. Из-за этого я всегда использую, getClass()
хотя это немного дольше.
Если вы хотите проверить, реализует ли объект определенный интерфейс или расширяет определенный класс (например, Date), используйте:
(somObject instanceof Date)
или чтобы проверить, является ли класс объекта точно определенным классом (не его подклассом), используйте:
(somObject.getClass() == Date)
instanceof
отлично подходит для фильтрации на основе интерфейса.Map
экземпляреdef test = {} println test.getClass()
класс Script1 $ _run_closure1 ??Простой способ проверки типа объекта:
Может применяться и для интерфейсов.
источник
Просто чтобы добавить еще один вариант ответа Доналя, вы также можете использовать старый добрый
java.lang.Object.getClass()
метод.источник
Вы можете использовать оператор членства isCase (), который является еще одним отличным способом:
источник
somObject instanceof Date
должно быть
somObject instanceOf Date
источник
instanceof
все должно быть в нижнем регистре.