1

我有一个具有此声明的函数 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 表明这都是类型安全的?

4

1 回答 1

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);
    }
}

也许您可以发布一个简短但完整的失败示例?

于 2012-06-19T21:31:39.620 回答