这样的事情可能吗?我无法让它发挥作用:
class B extends A {
...
}
class A {
...
}
List<Class<? extends A>> list(){
return Arrays.asList(B.class);
}
我得到Type mismatch: cannot convert from List<Class<B>> to List<Class<? extends A>>.
答案 0 :(得分:3)
正如评论中所提到的,它可以很好地编译Java 8(增强的目标类型)。在旧版本中,您必须执行此操作:
List<Class<? extends A>> list() {
return Arrays.<Class<? extends A>>asList(B.class);
}
进一步阅读: