protected final Class<? extends MyBaseClass>[] getClasses(){
return new Class[]{
MyClass1.class,
MyClass2.class
};
}
现在,作为开发人员,我知道
MyClass1
和MyClass2
扩展了MyBaseClass
,但是如何正确执行它,以使IDE /编译器不会发出警告? 最佳答案
如果不抑制警告,您将无法到达那里。您要么必须处理编译时错误,否则就无法创建泛型类型的数组,也可能需要处理当前警告。
最接近的替代方法是使您的方法返回集合类型:
protected final List<Class<? extends MyBaseClass>> getClasses() {
return Arrays.asList(MyClass1.class, MyClass2.class);
}