我正在使用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