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);
}
关于java - 如何正确施法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52890561/