Я только что реализовал несколько классов:
public abstract class Job<T extends ViewerUnion>{
[...]
}
public abstract class ReturnValueJob<T, S extends ViewerUnion> extends Job<S> {
[...]
}
public class MyReturnJob extends ReturnValueJob<Foo, Baa> {
[...]
}
public class JobExecuter {
public static void execute(List<Job> jobList){
for(Job actJob: jobList){
actJob.startJob();
}
for(Job actJob: jobList){
actJob.awaitTimeoutOrFinish();
}
}
}
Теперь я хочу выполнить этот код:
List<Job> list = new LinkedList<MyReturnJob>();
JobExecuter.execute(list);
Но Java выдает ошибку при компиляции:
Несоответствие типов: невозможно преобразовать LinkedList в список
Я не знаю почему, потому что MyReturnJob
наследует Job
.Если я изменю определение списка на LinkedList<MyReturnJob> list = new LinkedList<MyReturnJob>();
Та же ошибка выдается JobExecuter.execute(list);
Спасибо за вашу помощь.
С уважением, До