Método Genérico é só pra restringir quem o usa?

4 respostas
moacirjava

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... }

4 Respostas

ViniGodoy

Engraçado, postei isso aqui hoje, em outro tópico:
http://www.guj.com.br/posts/list/15/70635.java#757943

moacirjava

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?

ViniGodoy

Sim. POr exemplo, para um método que só aceite Lists de SuperClasse:

Para um método que só aceite pais de SuperClasse:

moacirjava

ViniGodoy:
Sim. POr exemplo, para um método que só aceite Lists de SuperClasse:

Para um método que só aceite pais de SuperClasse:

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"?

Criado 8 de outubro de 2009
Ultima resposta 8 de out. de 2009
Respostas 4
Participantes 2