Java公开了泛型类型信息,例如对于运行时通过接口java.lang.reflect.Type
及其子接口(ParameterizedType,WildcardType)的字段类型。
是否有人知道我在哪里可以找到一个组件,可以确定一个Type的对象是否可以转换为另一个Type,例如如果Set<Object>
可以投放到Set
,或者Comparator<User>
可以投放到Comparator<? extends Object>
吗?
该解决方案应该适用于java.lang.reflect.Type
所代表的类型信息,而不仅仅是Class
es,它应该考虑泛型,即List<Integer>
不应该转换为{List<Object>
1}}。
此致 约亨
答案 0 :(得分:4)
你可以看一下Apache Commons-lang:
答案 1 :(得分:3)
答案 2 :(得分:0)
if (clazz.isAssignableFrom(otherClazz))
{
return true;
}