web-dev-qa-db-ja.com

Groovy / grailsデータ型の判別方法

Groovyでデータ型を判断する最良の方法は何ですか?

日付などの場合、出力の形式を変えたい.

164
Jack BeNimble

オブジェクトのクラスを決定するには、単に呼び出します:

someObject.getClass()

ほとんどの場合、これをsomeObject.classに短縮できます。ただし、Mapでこれを使用すると、キー 'class'で値を取得しようとします。このため、少し長めですが、常にgetClass()を使用します。

オブジェクトが特定のインターフェースを実装しているか、特定のクラス(日付など)を拡張しているかどうかを確認したい場合:

(somObject instanceof Date)

または、オブジェクトのクラスがexactly特定のクラス(そのサブクラスではない)かどうかを確認するには、次を使用します。

(somObject.getClass() == Date)
230
Dónal

オブジェクトタイプをチェックする簡単でグルーヴィーな方法:

somObject in Date

インターフェイスにも適用できます。

30

Dónalの答えに別のオプションを追加するために、古き良きJava.lang.Object.getClass()メソッドを使用することもできます。

3
Pops

別のグルーヴィーな方法であるメンバーシップ演算子isCase()を使用できます。

assert Date.isCase(new Date())
0
bitsnaps