у меня есть этот код:
public <T extends Scrapper> Class<T> getScrapper() {
return MyScrapper.class;
}
MyScrapper
— это класс, реализующий Scrapper
интерфейс. Почему это не работает? Я получаю следующую ошибку в JDK7:
error: incompatible types
required: Class<T>
found: Class<MyScrapper>
where T is a type-variable:
T extends Scrapper declared in method <T>getScrapper()
Я честно пытался искать целых 30 -40 минут.
Обновление :если я объявлю метод как public Class<? extends Scrapper> getScrapper() {
, он работает. но я до сих пор не понимаю, почему исходная декларация не компилировалась. что с этим не так?