我正在寻找我的代码段的小帮助,试图返回共享相同父抽象类/接口的类列表。以下是代码片段:
public <T extends Animal> List<Class<T>> getAnimalTypes() {
return Arrays.<T>asList(Dog.class, Cat.class, Bear.class);
}
Dog
、Cat
和Bear
是扩展抽象类Animal
的类。我错过了什么?谢谢,昂德雷,
若要定义返回具有相同父抽象类/接口的Class
对象列表的方法,请指定该方法List<Class<? extends Animal>>
返回类型:
public List<Class<? extends Animal>> getAnimalTypes() {
return Arrays.asList(Dog.class, Cat.class, Bear.class);
}
这说明编译器需要一种扩展类Animal
的类。无需指定泛型类型T
。