Generics + Reflection  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Rodrigo Manhães
JavaGuru
[Avatar]

Membro desde: 14/07/2005 17:07:07
Mensagens: 242
Localização: Campos dos Goytacazes/RJ
Offline

Olá a todos,

Em uma classe como a abaixo

e instanciada assim


Há como escrever um método que retorne o tipo genérico passado na instanciação da classe (no caso acima, String)? A única coisa que consegui foi obter o valor T. Mas meu objetivo não é T, mas String. É possível obter ou isto não está disponível à reflexão?


https://github.com/rodrigomanhaes
http://programacaoradical.blogspot.com
marcelo_mococa
Virtual Machine Man
[Avatar]

Membro desde: 03/03/2005 10:03:32
Mensagens: 622
Localização: São Paulo
Offline

creio q naum

Marcelo Madeira - TCS
SCJP 1.5
SCWCD 1.4
blog

Sergio Lopes
Moderador
[Avatar]

Membro desde: 17/11/2003 00:22:10
Mensagens: 1368
Localização: São Paulo - SP
Offline

não é possivel não...

Sérgio Lopes - twitter: @sergio_caelum - blog pessoal: sergiolopes.org
Curso Java | Apostilas Java | Arquitetura Java | Curso Rails
juzepeleteiro
Virtual Machine Man

Membro desde: 19/07/2005 16:01:40
Mensagens: 583
Localização: Rio de Janeiro
Offline

Err... como nao?



O codigo acima foi tirado de uma aplicacao minha, mas da para voce entender e adaptar para sua necessidade.

http://ofert.as - Cupons de desconto
[Email] [WWW] [MSN]
Sami Koivu
Virtual Machine Man
[Avatar]

Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Offline

O Paulo Silveira fala sobre este assunto no seu post no blog da Caelum:

http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/

[]s,
Sami

(Slightly) Random Broken Thoughts on Java Security
[Email] [WWW] [Yahoo!] [MSN]
urubatan
Moderador
[Avatar]

Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline

não é possivel saber o tipo passado para uma classe (ja perdi bastante tempo tentando descobrir como

[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
[WWW]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

não da, essa informacao nao fica guardada em tempo de execucao. a nao ser que voce tenha uma filha que estende essa classe e explicita quem eh T.

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
Rodrigo Manhães
JavaGuru
[Avatar]

Membro desde: 14/07/2005 17:07:07
Mensagens: 242
Localização: Campos dos Goytacazes/RJ
Offline

Obrigado pelas respostas, pessoal! Como o Paulo Silveira disse, a solução enviada pelo Juzpeleteiro só encontra o tipo declarado em código (no caso do exemplo que enviei, T). É útil quando se declara explicitamente o tipo, como List<String> teste.

É, vou ter mesmo que recorrer à boa e velha anotação. Obrigado a todos.

https://github.com/rodrigomanhaes
http://programacaoradical.blogspot.com
sapulha
JavaTeenager
[Avatar]

Membro desde: 18/07/2006 08:10:20
Mensagens: 180
Localização: São Bernardo do Campo
Offline

É isso aí, o Generics funciona muito bem, mais para tempo de compilação.

Ele não pode verificar este tipo de informação em tempo de execução, pois dessa forma você perderia a compatibilidade do Java 5 com as versões anteriores a implementação do Generics

"Se não for, não é! Mais se for, pode ser que não seja!"

Sun Certified Java Programmer For The Java 5
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Uma forma boba de conseguir isso é passar algum parâmetro que contenha um objeto do tipo Class.

Exemplo:
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team