Groovyでデータ型を判断する最良の方法は何ですか?
日付などの場合、出力の形式を変えたい.
オブジェクトのクラスを決定するには、単に呼び出します:
someObject.getClass()
ほとんどの場合、これをsomeObject.class
に短縮できます。ただし、Map
でこれを使用すると、キー 'class'で値を取得しようとします。このため、少し長めですが、常にgetClass()
を使用します。
オブジェクトが特定のインターフェースを実装しているか、特定のクラス(日付など)を拡張しているかどうかを確認したい場合:
(somObject instanceof Date)
または、オブジェクトのクラスがexactly特定のクラス(そのサブクラスではない)かどうかを確認するには、次を使用します。
(somObject.getClass() == Date)
オブジェクトタイプをチェックする簡単でグルーヴィーな方法:
somObject in Date
インターフェイスにも適用できます。
Dónalの答えに別のオプションを追加するために、古き良きJava.lang.Object.getClass()
メソッドを使用することもできます。
別のグルーヴィーな方法であるメンバーシップ演算子isCase()を使用できます。
assert Date.isCase(new Date())