Jack BeNimble
Jack BeNimble

Reputation: 36723

Groovy / grails how to determine a data type?

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

I'd like to format the output differently if it's a date, etc.

Upvotes: 202

Views: 255687

Answers (5)

Pops
Pops

Reputation: 30868

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

Upvotes: 5

Ibrahim.H
Ibrahim.H

Reputation: 1195

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

assert Date.isCase(new Date())

Upvotes: 1

Michal Zmuda
Michal Zmuda

Reputation: 5641

Simple groovy way to check object type:

somObject in Date

Can be applied also to interfaces.

Upvotes: 35

Mike N
Mike N

Reputation: 125

somObject instanceof Date

should be

somObject instanceOf Date

Upvotes: -21

Dónal
Dónal

Reputation: 187399

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)

Upvotes: 292

Related Questions