Я пытаюсь реализовать Command Pattern
с универсальным типом возврата в Java.
После рассмотрения этого ответа на SO я создал Command
класс (интерфейс), которыйвыглядит следующим образом:
public interface Command <T> {
T execute(ArrayList<String> list, T type);
}
public class SearchResultsPage implements Command{
@Override
public <T extends List<ProductPOJO>> T execute(ArrayList<String> list, T type) {
List<ProductPOJO> productPOJOList = generatePOJOFromSearch(list);
type.addAll(productPOJOList);
return type;
}
}
Однако Eclipse продолжает жаловаться, что:
Метод execute (ArrayList, T) типа SearchResultsPage должен переопределить или реализовать метод супертипа
Но когда я нажимаю
Создать execute () в супертипе Command
Eclipse автоматически генерирует метод T execute(ArrayList<String> list, T type);
в Command
классе (т.е.Точно такая же подпись, как у меня), но сообщение об ошибке не исчезает.
Как это исправить?
Спасибо!