Допустим, у меня есть суперкласс, который определяет следующий абстрактный метод
public abstract <T extends Interface> Class<T> getMainClass();
Теперь, если я хочу переопределить его в каком-то подклассе
public Class<Implementation> getMainClass(){
return Implementation.class;
}
Я получаю предупреждение о безопасности типов и неконтролируемом преобразовании:
Безопасность типов: возвращаемый тип
Class
дляgetMainClass ()
из типаSubFoo
требуется неконтролируемое преобразование для соответствияClass
из типаSuperFoo
Не Class
подпадает под Class
if
? Есть ли способ избавиться от этого предупреждения?