2013-11-03 3 views
5

Ich habe Array von Field:Wissenswertes Feld ist ein Array? (Java.lang.reflect.Field) in Java

Field[] fields = instance.getClass().getDeclaredFields(); 

for (Field field : fields){  

if((field.getType() == Integer.class[])||(field.getType() == Object.class[])) 
{ 
//...  
} 

} 

Wie Feld tun zu lernen, ist Array? (Wie kann man wissen, welches Feld ein Array (Objekt [] Array) ist?), Hilf mir bitte.

Antwort

4

Sie können isArray() auf dem Class<T> Objekt des Typs Feld aufrufen. Um den Typ des Elements zu erhalten, rufen Sie die Methode getComponentType auf.

if((field.getType().isArray()) { 
    Class componentType = field.getType().getComponentType(); 
    ... 
}