11

我有来自字段的数组:

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

for (Field field : fields){    

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

}

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

4

2 回答 2

17

使用Class#isArray()

if (field.getType().isArray()) {
    ...
}
于 2013-11-03T19:37:38.120 回答
10

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

if((field.getType().isArray()) {
    Class componentType = field.getType().getComponentType();
    ...
}
于 2013-11-03T19:37:40.457 回答