Was ist der beste Weg, um den Datentyp in Groovy zu bestimmen?
Ich möchte die Ausgabe anders formatieren, wenn es sich um ein Datum usw. handelt.
Was ist der beste Weg, um den Datentyp in Groovy zu bestimmen?
Ich möchte die Ausgabe anders formatieren, wenn es sich um ein Datum usw. handelt.
Antworten:
Um die Klasse eines Objekts zu bestimmen, rufen Sie einfach auf:
someObject.getClass()
Sie können dies someObject.class
in den meisten Fällen abkürzen . Wenn Sie dies jedoch für a verwenden Map
, wird versucht, den Wert mit dem Schlüssel 'class' abzurufen. Aus diesem Grund benutze ich immer getClass()
, obwohl es etwas länger ist.
Wenn Sie überprüfen möchten, ob ein Objekt eine bestimmte Schnittstelle implementiert oder eine bestimmte Klasse (z. B. Datum) erweitert, verwenden Sie:
(somObject instanceof Date)
oder um zu überprüfen, ob die Klasse eines Objekts genau eine bestimmte Klasse ist (keine Unterklasse davon), verwenden Sie:
(somObject.getClass() == Date)
Map
Instanz
def test = {} println test.getClass()
Klasse Script1 $ _run_closure1 ??
Einfache, gute Möglichkeit, den Objekttyp zu überprüfen:
somObject in Date
Kann auch auf Schnittstellen angewendet werden.
instanceof
eignet sich hervorragend zum Filtern basierend auf der Schnittstelle.