クラスローダーを使用してクラスをロードしている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);
しかし、チェックされていないキャストを取り除く方法はありますか?