假设我有一组类如下:
有一个接口Interface1,有两个类Class1和Class2,它们都实现了Interface1.
interface Interface1 {
}
class Class1 implements Interface1{
}
class Class2 implements Interface1{}
现在,我想创建一个实现Interface1的类列表.我试图做一些像:
List<Class<Interface1>> classes = new List<Class<Interface1>>();
classes.add(Class1.class);
classes.add(Class2.class);
但这不起作用.我收到编译器错误:
Class1.class is of type Class<Class1> and so cannot be added to the list
有没有办法实现我打算做的事情?
使用您的interface类型限定的通配符
List<Class<? extends Interface1>> classes = new ArrayList<Class<? extends Interface1>>();
classes.add(Class1.class);
classes.add(Class2.class);
classes.add(String.class); // won't compile
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |