Cast Dinamico com Reflaction

3 respostas
71C4700

Pessoal to usando reflaction e tentando fazer duas coisas.

  1. Fazer um cast Dinamico

Object obj = Class.forName("Dono").new Instance(); obj.getClass().cast(new Dono());
1.1 Agora fazer o seguinte:

obj.getName();// getName é um metodo da classe Dono
  1. Fazer uma tipagem utilizando generic
List<Dono> l = new ArrayList<Dono>();

Queria saber como atribuir a lista criada o tipo: Dono?!
Consigo fazer o inverso em tempo de execução descobrir o tipo que é armazenado no ArrayList, mas quando tenho que instanciar um ArrayList de algum tipo pra poder seta no metodo

Dono d = new Dono(); ArrayList<Livro> livros = new Arraylist<Livro>(); d.setLivros(livro);

ja procurei bastante mas nao encontri a solução destes dois problemas.

3 Respostas

S

Você não teria que fazer algo como:

Dono d = obj.getClass().cast(new Dono());
S

É isso mesmo, dá uma olhada nesse post do javaranch.

http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=33&t=021444

71C4700
Ssalgado:
Você não teria que fazer algo como:
Dono d = obj.getClass().cast(new Dono());

Seria mais ou menos isso, mas o que eu queria mesmo era assim:

Dono dono; // Descobrir em tempo de execução e setar a tipagem deste objeto dono com o tipo Dono

dono= obj.getClass().cast(new Dono)); // E aqui poder fazer o casting

E quanto ao ArrayList, tem como saber?!

ArrayList&lt;Dono&gt;

Já consegui criar com Reflaction algo assim:

Dono[] d;

Onde ele tem um Array com o tipo que queria setar no Generic do ArrayList.

Algumas sugestão?

Criado 4 de dezembro de 2008
Ultima resposta 4 de dez. de 2008
Respostas 3
Participantes 2