确定groovy中数据类型的最佳方法是什么?
如果是日期等,我想以不同的方式格式化输出
答案 0 :(得分:224)
要确定对象的类,只需调用:
someObject.getClass()
在大多数情况下,您可以将其缩写为someObject.class
。但是,如果您在Map
上使用它,它将尝试使用键'class'检索该值。因此,我总是使用getClass()
,即使它更长一点。
如果要检查对象是实现特定接口还是扩展特定类(例如Date),请使用:
(somObject instanceof Date)
或检查对象的类是否完全特定类(不是它的子类),使用:
(somObject.getClass() == Date)
答案 1 :(得分:30)
检查对象类型的简单groovy方法:
somObject in Date
也可以应用于接口。
答案 2 :(得分:3)
只是为Don的答案添加另一个选项,您仍然可以使用旧的java.lang.Object.getClass()
方法。
答案 3 :(得分:0)
您可以使用成员运算符isCase(),这是另一种常规方式:
assert Date.isCase(new Date())
答案 4 :(得分:-19)
somObject instanceof Date
应该是
somObject instanceOf Date