【发布时间】:2012-01-15 10:34:57
【问题描述】:
我有一个实用方法,它遍历各种类并递归检索字段。我想检查该字段是否为集合。 下面是一些示例代码:
void myMethod(Class<?> classToCheck)
Field[] fields = classToCheck.getDeclaredFields();
for(Field field:fields)
{
// check if field if a Collection<?>
}
提前感谢您的帮助。
【问题讨论】:
-
你想测试声明的字段类型是否是Collection的实现,或者任何给定对象中字段引用的实际对象是否实现Collection?如果 a) Field 被声明为 Object,但为其分配了实现 Collection 的对象,或者 b) Field 被声明为 Collection(或后代)但它为 null,则这两个结果会有所不同。
标签: java reflection types