是否可以将接口或基类类型作为泛型类型传递给java.lang.class

是否可以将接口或基类类型作为泛型类型传递给java.lang.class,java,Java,我有一个接口A和类B,C,它们扩展了A 我想在一个ArrayList中存储B和C的类类型。 为了做到这一点,我创建了一个列表,并添加如下元素 private List<Class<A>> classes = new ArrayList<>(); classes.add(B.class); classes.add(C.class); private List classes=new ArrayList(); 增加(B.class); 增加(C.class);

我有一个接口A和类B,C,它们扩展了A

我想在一个ArrayList中存储B和C的类类型。 为了做到这一点,我创建了一个列表,并添加如下元素

private List<Class<A>> classes = new ArrayList<>();

classes.add(B.class);
classes.add(C.class);
private List classes=new ArrayList();
增加(B.class);
增加(C.class);
不接受添加这些类型。
有什么办法吗

正如本杰明所说,下面的内容是有效的,并经过编译。如果它对你不起作用,那么你一定忽略了一些重要的事情:

public class Main {
    interface A {}
    class B implements A {}
    class C implements A {}
    private List<Class<? extends A>> classes = new ArrayList<>();
    {
        classes.add(B.class);
        classes.add(C.class);
    }
}
公共类主{
接口A{}
类B实现了一个{}
类C实现了一个{}

private List
ClassIt还值得注意的是,上面的内容与接口一样重要