怎么知道Field是一个数组?Java中的(java.lang.reflect.Field)

7 java arrays reflection types field

我有来自Field的数组:

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

for (Field field : fields){    

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

}
Run Code Online (Sandbox Code Playgroud)

如何学习Field是数组?(如何知道哪个字段是数组(Object []数组)?),请帮帮我.

ars*_*jii 15

用途Class#isArray():

if (field.getType().isArray()) {
    ...
}
Run Code Online (Sandbox Code Playgroud)


das*_*ght 7

您可以调用字段类型isArray()Class<T>对象.要获取元素的类型,请调用getComponentType方法.

if((field.getType().isArray()) {
    Class componentType = field.getType().getComponentType();
    ...
}
Run Code Online (Sandbox Code Playgroud)