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

Jac*_*ble 168 groovy types

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

如果它是日期等,我想以不同的方式格式化输出.

Dón*_*nal 234

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

someObject.getClass()
Run Code Online (Sandbox Code Playgroud)

someObject.class在大多数情况下,您可以将其缩写为.但是,如果你使用Map它,它将尝试使用键'class'检索值.因此,我总是使用getClass()它,即使它更长一点.

如果要检查对象是实现特定接口还是扩展特定类(例如Date),请使用:

(somObject instanceof Date)
Run Code Online (Sandbox Code Playgroud)

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

(somObject.getClass() == Date)
Run Code Online (Sandbox Code Playgroud)

  • @LaurentBERNABE适用于大多数情况,但不是全部,例如`Map`实例 (5认同)
  • `instanceof`非常适合基于接口的过滤. (2认同)

Mic*_*d a 30

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

somObject in Date
Run Code Online (Sandbox Code Playgroud)

也可以应用于接口.


Pop*_*ops 5

只是为了在 D\xc3\xb3nal 的答案中添加另一个选项,您也仍然可以使用好的旧java.lang.Object.getClass()方法。

\n