Jaki jest najlepszy sposób na określenie typu danych w Groovy?
Chciałbym inaczej sformatować dane wyjściowe, jeśli jest to data itp.
Jaki jest najlepszy sposób na określenie typu danych w Groovy?
Chciałbym inaczej sformatować dane wyjściowe, jeśli jest to data itp.
Odpowiedzi:
Aby określić klasę obiektu, po prostu wywołaj:
someObject.getClass()
W someObject.class
większości przypadków można to skrócić do . Jeśli jednak użyjesz tego na a Map
, spróbuje pobrać wartość za pomocą klucza „class”. Z tego powodu zawsze używam, getClass()
chociaż jest trochę dłuższy.
Jeśli chcesz sprawdzić, czy obiekt implementuje określony interfejs lub rozszerza określoną klasę (np. Date) użyj:
(somObject instanceof Date)
lub aby sprawdzić, czy klasa obiektu jest dokładnie określoną klasą (a nie jej podklasą), użyj:
(somObject.getClass() == Date)
Map
Instancja
def test = {} println test.getClass()
class Script1 $ _run_closure1 ??
Prosty, świetny sposób na sprawdzenie typu obiektu:
somObject in Date
Może być stosowany również do interfejsów.
instanceof
świetnie nadaje się do filtrowania na podstawie interfejsu.