Pessoal, só para esclarecimento, quando eu coloco um método genérico
a intenção é restringir quem pode utilizar esse método?
Por exemplo, eu tenho a minha super classe e tenho as minhas subclasses
o método abaixo só pode ser usado por quem herdar de Superclasse?
public <T extends SuperClasse> List<E> metodo(List<E> lista){
//meu código...
}
Li o tópico, mas não tive a resposta para minha perguntinha. O povo disse das vantagens do generics, mas ele faz o que eu perguntei acima?
Restringe o uso dos métodos somente para os subtipos explícitos?
Sim. POr exemplo, para um método que só aceite Lists de SuperClasse:
Para um método que só aceite pais de SuperClasse:
[quote=ViniGodoy]Sim. POr exemplo, para um método que só aceite Lists de SuperClasse:
Para um método que só aceite pais de SuperClasse:
[/quote]
Nâo, não, repare que lá no meu primeiro tópico o método está assim:
public <T extends SuperClasse> List<E> metodo(List<E> lista){
//meu código...
}
Minha pergunta é sobre o trecho no começo do método public <? extends SuperClasse> esse trechinho do código restringe a utilização do método somente para subtipos de "SuperClasse"?