Groovy/grails如何确定数据类型?
在groovy中确定数据类型的最佳方法是什么Groovy/grails如何确定数据类型?,groovy,types,Groovy,Types,在groovy中确定数据类型的最佳方法是什么 如果是日期等,我希望以不同的格式输出。要确定对象的类别,只需调用: someObject.getClass() 在大多数情况下,您可以将其缩写为someObject.class。但是,如果在映射上使用此选项,它将尝试使用键“class”检索值。因此,我总是使用getClass(),即使它稍微长一点 如果要检查对象是否实现特定接口或扩展特定类(例如日期),请使用: 或者,要检查对象的类是否恰好是一个特定的类(不是它的子类),请使用: 为了给Dónal
如果是日期等,我希望以不同的格式输出。要确定对象的类别,只需调用:
someObject.getClass()
在大多数情况下,您可以将其缩写为someObject.class
。但是,如果在映射上使用此选项,它将尝试使用键“class”检索值。因此,我总是使用getClass()
,即使它稍微长一点
如果要检查对象是否实现特定接口或扩展特定类(例如日期),请使用:
或者,要检查对象的类是否恰好是一个特定的类(不是它的子类),请使用:
为了给Dónal的答案添加另一个选项,您仍然可以使用好的java.lang.Object.getClass()
方法。somObject instanceof Date
应该是
somObject instanceOf Date
检查对象类型的简单groovy方法:
somObject in Date
也可以应用于接口。您可以使用成员资格运算符isCase(),这是另一种groovy方式:
assert Date.isCase(new Date())
这是不对的instanceof
应该都是小写。instanceof
非常适合基于接口进行过滤。至少在最新的Groovy(2.3.7)中,我们还可以编写一些对象。class@LaurentBERNABE这在大多数情况下都有效,但并非所有情况下都有效,例如Map
instanceYou是对的:在这种情况下我们得到null。为错误道歉。那这是什么def test={}println test.getClass()
class Script1$\u run\u closure1??
somObject in Date
assert Date.isCase(new Date())