我不明白为什么编译器不允许这样做:
Callable callable = null;
List<Future<BaseClass<? extends AnotherClass>> futures = new ArrayList<Future<BaseClass<? extends AnotherClass>>>();
class BaseClass<T extends AnotherClass> {
...
}
class Subclass extends BaseClass<ConcreteType> {
...
}
class ConcreteType extends AnotherClass {
...
}
futures.add(new FutureTask<Subclass>(callable));
为什么不允许这样做?
答案 0 :(得分:2)
我相信你想要:
List<Future<? extends BaseClass<? extends AnotherClass>>> futures