gpt4 book ai didi

java - 摆脱未经检查的反射

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:12:48 24 4
gpt4 key购买 nike

我正在使用返回我的类加载器加载一个类 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);

但是有没有办法摆脱未经检查的转换?

最佳答案

是的:你可以写:

Class<? extends Someclass> clazz =
clazzFromClassLoader.asSubclass(Someclass.class);

(有关详细信息,请参阅 asSubclass's Javadoc。)

关于java - 摆脱未经检查的反射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14959642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com