Substituindo método com tipo de retorno genérico
Digamos que eu tenho uma superclasse que define o seguinte método abstrato
public abstract <T extends Interface> Class<T> getMainClass();
Agora, se eu quiser substituí-lo em alguma subclasse
public Class<Implementation> getMainClass(){
return Implementation.class;
}
Recebo um aviso sobre segurança de tipo e conversão desmarcada:
Segurança do tipo: o tipo de retornoClass<Implementation>
paragetMainClass()
do tipoSubFoo
precisa de conversão desmarcada para estar em conformidade comClass<Interface>
do tipoSuperFoo
NãoClass<Implementation>
cair debaixoClass<T>
E se<T extends Interface>
? Existe alguma maneira de se livrar adequadamente do aviso?