Como instanciar classe generica via reflections?

2 respostas
gabiso

Ola amigos,

Como faço para instanciar uma classe e tipa-la dinamicamente atraves de reflection??

Classe genérica
class Teste<P>{}
Código Reflection
class reflectTeste implements invocationHandler{

invoke(Object proxy, Method method, Object[] args) {
  Class<?> retorno = method.getReturnType();
  
Teste<retorno.class>  abc = new Teste<retorno.class> ??

Class.forName( "teste<" + retorno.getName() +">")  ????


}

}

2 Respostas

esmiralha

Tipar dinamicamente… é impossível! Java é uma linguagem estaticamente tipada. As informações de tipos em classes e métodos genéricos só fazem sentido em tempo de compilação e são apagadas em tempo de execução.

gabiso

ahahhahhaa é verdade, isso não me veio a cabeça.
o que estou tentando fazer é um absurdo… rsrsrs

O Mick Jagger não tem culpa dessa vez.

a característica de generics e a api reflection - uma é em tempo de compilação e outra em tempo de execução.

acredito então que a idéia aqui é retirar a funcionalidade genérica da classe, criar metodos e construtores sobrecarregados
para que possa ser acessado em tempo de execução.

Grato pela dica, colega!!

Criado 1 de novembro de 2010
Ultima resposta 1 de nov. de 2010
Respostas 2
Participantes 2