Ola pessoas,
estava estudando e me deparei com o seguinte código:
public <T> List<?> meth(List<?> type) {
System.out.println(type);
return new ArrayList<?>();
}
Gostaria de saber o que significa o na assinatura do método.
Ele interfere no tipo do retorno?
Onde vc pegou esse exemplo?
Pode mandar a classe inteira para darmos uma olhada?
É uma questão de simluado OCJP, não há nenhuma outra informação além dessa.
A minha dúvida é só sobre a assinatura do método.
[quote=bruno_7317]É uma questão de simluado OCJP, não há nenhuma outra informação além dessa.
A minha dúvida é só sobre a assinatura do método.[/quote]
Como não sou muito didático, segue abaixo:
a partir do slide 123 tem uma explicação mais didática pra isso.
[quote=walissongpi][quote=bruno_7317]É uma questão de simluado OCJP, não há nenhuma outra informação além dessa.
A minha dúvida é só sobre a assinatura do método.[/quote]
Como não sou muito didático, segue abaixo:
a partir do slide 123 tem uma explicação mais didática pra isso.
http://java-i9se.blogspot.com/2009/07/collection-e-generics.html[/quote]
É uma explicação muito breve. Não consegui entender.
public <T> List<?> meth(List<?> type);
Então esse método vai retornar uma List do tipo T?
O assume o valor de quem implementou.
Se você na hora que definiu a classe passou um Dog no lugar do T, vai ficar sendo Dog.
Ele quer dizer que será a classe que você invocar o método.