Groovy/grails 如何确定数据类型?

在 groovy 中确定数据类型的最佳方法是什么?

如果输出是一个日期,我希望格式不同,等等。

200824 次浏览

要确定对象的类,只需调用:

someObject.getClass()

在大多数情况下,您可以将其缩写为 someObject.class。但是,如果您在 Map上使用这个函数,它将尝试检索带有键“ class”的值。因此,我总是使用 getClass(),即使它有点长。

如果你想检查一个对象是否实现了一个特定的接口或者扩展了一个特定的类(例如 Date) ,使用:

(somObject instanceof Date)

或者检查一个对象的类是否是 没错一个特定的类(不是它的子类) ,使用:

(somObject.getClass() == Date)

为了给 Dónal 的答案添加另一个选项,您还可以使用旧的 java.lang.Object.getClass()方法。

somObject instanceof Date

应该是

somObject instanceOf Date

检查对象类型的简单常规方法:

somObject in Date

也可以应用于接口。

您可以使用 Membership Operator isCase () ,这是另一种常用的方法:

assert Date.isCase(new Date())