Reputation: 3015
I do not understand why the compiler does not allow this:
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));
Why is this not allowed?
Upvotes: 0
Views: 103
Reputation: 53694
I believe you want:
List<Future<? extends BaseClass<? extends AnotherClass>>> futures
Upvotes: 2