如果一个字段是一个Set<String>
如何从Set
(在这种情况下String
)确定泛型的类型?
我有这种确定泛型类型的方法:
private boolean isSetTypeOf( Set<?> set, Class<?> clazz )
{
for ( Object object : set )
{
if ( object.getClass().equals( clazz ) )
{
return true;
}
}
return false;
}
但是我不能将 Field 转换为 Set,因此不能使用这种方法。
Field field = getTheField();
if ( ReflectionUtils.isType( field, Set.class )
{
// Error
if ( isSetTypeOf( field, clazz ) )
{
// do something
}
}
基本上我知道字段类型是一个集合,现在我需要知道集合包含的对象的类型,然后才使用该字段。