Qual è il modo migliore per determinare il tipo di dati in groovy?
Vorrei formattare l'output in modo diverso se si tratta di una data, ecc.
Qual è il modo migliore per determinare il tipo di dati in groovy?
Vorrei formattare l'output in modo diverso se si tratta di una data, ecc.
Risposte:
Per determinare la classe di un oggetto è sufficiente chiamare:
someObject.getClass()
È possibile abbreviare questo someObject.class
nella maggior parte dei casi. Tuttavia, se lo usi su un Map
, proverà a recuperare il valore con la chiave 'class'. Per questo motivo, lo uso sempregetClass()
anche se è un po 'più lungo.
Se vuoi verificare se un oggetto implementa una particolare interfaccia o estende una particolare classe (es. Data) usa:
(somObject instanceof Date)
o per verificare se la classe di un oggetto è esattamente una classe particolare (non una sottoclasse di essa), usare:
(somObject.getClass() == Date)
Map
esempio un'istanza
def test = {} println test.getClass()
class Script1 $ _run_closure1 ??
Semplice modo groovy per verificare il tipo di oggetto:
somObject in Date
Può essere applicato anche alle interfacce.
instanceof
è ottimo per il filtraggio basato sull'interfaccia.