我正在使用classloader加载一个类,它返回我Class<?>
,现在我想将该类传递给另一个需要Class<? extends SomeClass>
的方法或函数。摆脱未经检查的反射投射
现在,当我尝试投:
Class<?> clazzFromClassLoader = Class.forName(nameOfClass);
Class<? extends Someclass> clazz = (Class<? extends SomeClass>)clazzFromClassLoader;
//second line gives unchecked cast warning
我可以确保没有使用
SomeClass.isAssignableFrom(clazzFromClassLoader);
但有摆脱选中投的方式无类转换异常?
是的,我能做到这一点。泛型给了一些东西,但带走了一些东西 – 2013-02-19 14:19:04
此链接 - http://www.angelikalanger.com/GenericsFAQ/FAQSections/ParameterizedTypes.html#FAQ006可能会有所帮助。 – 2013-02-19 14:26:48