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