我有一个具有此声明的函数B:
public void B(Class<? extends C> clazz);
我有一个类A和一个C类,如下所示:
public interface C {}
public class A implements C{}
我想这样做:
B(A.class);
然而,Java希望我这样做(然后抱怨未经检查的演员表)
B( (Class<? extends C>)A.class );
如何向Java表明这是完全类型安全的?
答案 0 :(得分:0)
适合我:
interface C {}
class A implements C {}
public class Test {
private static void foo(Class<? extends C> clazz) {
}
public static void main(String[] args) {
foo(A.class);
}
}
也许您可以发布一个简短但完整的示例,说明失败了什么?