开发者

Groovy / grails how to determine a data type?

What is the best way to determine the data type in groovy?

I'd like to 开发者_StackOverflow中文版format the output differently if it's a date, etc.


To determine the class of an object simply call:

someObject.getClass()

You can abbreviate this to someObject.class in most cases. However, if you use this on a Map it will try to retrieve the value with key 'class'. Because of this, I always use getClass() even though it's a little longer.

If you want to check if an object implements a particular interface or extends a particular class (e.g. Date) use:

(somObject instanceof Date)

or to check if the class of an object is exactly a particular class (not a subclass of it), use:

(somObject.getClass() == Date)


Simple groovy way to check object type:

somObject in Date

Can be applied also to interfaces.


Just to add another option to Dónal's answer, you can also still use the good old java.lang.Object.getClass() method.


You can use the Membership Operator isCase() which is another groovy way:

assert Date.isCase(new Date())


somObject instanceof Date

should be

somObject instanceOf Date

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜