Ho un metodo di utilità che passa attraverso varie classi e recupera in modo ricorsivo i campi. Voglio controllare se quel campo è una collezione. Ecco alcuni esempi di codice:Java: Come verificare se un campo è di tipo java.util.Collection
void myMethod(Class<?> classToCheck)
Field[] fields = classToCheck.getDeclaredFields();
for(Field field:fields)
{
// check if field if a Collection<?>
}
Grazie in anticipo per l'aiuto.
Vuoi verificare se il tipo dichiarato del campo è un'implementazione di raccolta, o se l'oggetto reale a cui si riferisce il campo in un dato oggetto implementa la Collezione? I due risultati differirebbero se a) il campo fosse dichiarato come oggetto, ma a esso fosse assegnato un oggetto che implementava la raccolta, oppure b) il campo fosse dichiarato come raccolta (o discendente) ma era nullo. – DJClayworth
possibile duplicato di [Come scoprire se un campo è l'istanza di un tipo tramite riflessione?] (Http://stackoverflow.com/questions/2262322/howto-find-out-if-a-field-is-instanceof-a- type-via-reflection) –