为什么不能强制转换类型安全?

时间:2018-12-20 18:41:51

标签: java reflection

我有以下问题:我按名称找到了一个班级,并且希望在没有警告的情况下进行安全的转换。但是问题是,即使在检查类型之后,我也无法做我需要的事情。

Class<?> foundClass = Class.forName(APPLET_PACKAGE + appletName);
if (Applet.class.isAssignableFrom(foundClass)) {
    Class<? extends Applet> appletClass = (Class<? extends Applet) foundClass;
}

未经检查,我遇到了相同的问题:

Class<? extends Applet> appletClass = (Class<? extends Applet) Class.forName(APPLET_PACKAGE + appletName);

有人遇到这个问题吗?将不胜感激。预先感谢。

1 个答案:

答案 0 :(得分:2)

您将需要Class.asSubclass