| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2011 16:01:41
|
guivirtuoso
JavaTeenager
![[Avatar]](/images/avatar/b0928f2d4ba7ea33b05024f21d937f48.jpg)
Membro desde: 05/04/2006 23:52:21
Mensagens: 185
Localização: Florianópolis - SC
Offline
|
Boa tarde Pessoal,
Supondo que eu tivesse a classe de dominio: br.com.guj.Usuario
E na classe TesteClass eu irei printar o Class desse dominio.
Utilizando a classe:
A saída seria: class br.com.guj.Usuario
Agora eu gostaria de deixar a classe TesteClass de forma genérica:
Utilizando a classe:
Gostaria que ao utilizar a classe de forma generica, lá na TesteClassGeneric ele conseguisse ver o Tipo que passei, e pudesse chegar ao .class dela.
Teria como Fazer isso?
This message was edited 1 time. Last update was at 16/09/2011 07:37:30
|
Guilherme H. F. Virtuoso
Florianópolis - SC
@virtuosoBR
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2011 16:37:47
|
nel
JWizard
![[Avatar]](/images/avatar/1a9537e58dcb1a9913e1fc10c65c7994.jpg)
Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline
|
Oi!
Não entendi muito a sua dúvida, mas algo assim talvez lhe ajude:
Seria isso ou queres pegar a classe de outra forma?
|
"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2011 16:45:15
|
guivirtuoso
JavaTeenager
![[Avatar]](/images/avatar/b0928f2d4ba7ea33b05024f21d937f48.jpg)
Membro desde: 05/04/2006 23:52:21
Mensagens: 185
Localização: Florianópolis - SC
Offline
|
Conforme o exemplo que mencionei...
Se eu instanciar a classe TesteClassGeneric<Usuario>, passando NO tipo generico a classe Usuario,
eu gostaria de imprimir o Usuario.class, no casso o tipo T.class ... da umaolhada com calma no exemplo que passei que você vai entender. :wink:
This message was edited 1 time. Last update was at 15/09/2011 16:45:49
|
Guilherme H. F. Virtuoso
Florianópolis - SC
@virtuosoBR
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2011 17:07:17
|
g4j
GUJ Ranger
![[Avatar]](/images/avatar/bea3c20edb84a0dd83a99a9a7274bc67.jpg)
Membro desde: 02/05/2007 14:32:03
Mensagens: 817
Localização: Curitiba
Offline
|
Guilherme,
Acho que sei o que você quer. Dê uma olhada neste post no blog da caelum:
http://blog.caelum.com.br/brincando-com-generics-o-bizarregenericdao/
|
Gerson Luiz Chagas
SCJP 5.0
SCWCD 5.0
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2011 17:16:47
|
guivirtuoso
JavaTeenager
![[Avatar]](/images/avatar/b0928f2d4ba7ea33b05024f21d937f48.jpg)
Membro desde: 05/04/2006 23:52:21
Mensagens: 185
Localização: Florianópolis - SC
Offline
|
Fala g4j,
li a matéria a respeito.. .e é exatamente isto que preciso.
Vou realizar os testes quando chegar em casa... e dou o feedback.
Muitissimo Obrigado.
|
Guilherme H. F. Virtuoso
Florianópolis - SC
@virtuosoBR
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2011 17:52:48
|
romarcio
JWizard
![[Avatar]](/images/avatar/0dc800465c816add16e0b6d63be91f49.jpg)
Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline
|
guivirtuoso wrote:Fala g4j,
li a matéria a respeito.. .e é exatamente isto que preciso.
Vou realizar os testes quando chegar em casa... e dou o feedback.
Muitissimo Obrigado.
Eu acho que da forma que você quer não dá pra fazer.
Esse exemplo da caelum é para uso de herança.
Você teria que estender a classe que contém o método printClass() para poder usar o recurso.
Tipo assim:
|
Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer
Blog | Facebook | Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/09/2011 06:59:26
|
g4j
GUJ Ranger
![[Avatar]](/images/avatar/bea3c20edb84a0dd83a99a9a7274bc67.jpg)
Membro desde: 02/05/2007 14:32:03
Mensagens: 817
Localização: Curitiba
Offline
|
O romarcio tem razão. Necessita invokar getGenericSuperclass().
Não testei, mas acho que vem null sem herança.
|
Gerson Luiz Chagas
SCJP 5.0
SCWCD 5.0
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/09/2011 07:37:07
|
guivirtuoso
JavaTeenager
![[Avatar]](/images/avatar/b0928f2d4ba7ea33b05024f21d937f48.jpg)
Membro desde: 05/04/2006 23:52:21
Mensagens: 185
Localização: Florianópolis - SC
Offline
|
Rapaziada,
Realizei os testes com a sugestão do Romarcio, e de fato funcionaram muito bem.
Queria agradecer a todos pela ajuda!
Levantei essa questão para usar numa classe DAO que fosse Base para todas as outras DAOs do sistema.
E nessa classe basica no caso.. BaseDAO .. tem os metodos comuns tipo save, update e delete, e não estava conseguindo definir um metodo base para um "listarTodos()" usando session.createCriteria( Dominio.class ).list()
Sendo assim como minha DominioDAO extends BaseDAO<Dominio> agora posso deixar inclusive caras como um listTodos() na classe BaseDAO e especializar as consultas quando necessário.
Vlw pessoal.
|
Guilherme H. F. Virtuoso
Florianópolis - SC
@virtuosoBR
 |
|
|
 |
|
|