Tem como usar uma String para declarar uma classe? [ Resolvido ]
7 respostas
Pilantra
Olá pessoal,
Depois de muito trabalho consegui fazer um esquema de XML com GWT para gerar um menu dinamicamente. Só que tem um problema, os comandos desses menus, eu preciso que uma classe trate isso. Até ae tudo bem, só que o nome da classe está no XML e eu recebo esse nome como String. Tem como eu pegar essa String e fazer um cast para o tipo Class, para assim, eu poder usar como tal?
Se eu não fui muito claro, eu explico novamente :lol:
Class classe = Class.forName("nomedaclasse");
Constructor construtor = classe.getConstructor(new Class[]{parametros});
(classe) construtor.newInstance(new Object[]{parametros});
Dá uma olhada na API do pacote java.lang.reflect
Pilantra
dreamspeaker, não era exatamente sobre o reflection, o que o thingol falou, era exatamente o que eu queria hehe!!
Valeu amigos!!!
T
thingol
Mas isso É reflection - e o que o DreamSpeaker mostrou é melhor porque você pode instanciar objetos que pertençam a classes que tenham construtores com parâmetros (no meu exemplo, só estou instanciando com o construtor default).
Pilantra
Humm desculpa. É que eu ainda não estudei reflection, pensei que era outra coisa hehehe. Sempre vi que o reflection é bem usado em frameworks e ides, então como eu nunca precisei fazer um framework ou uma ide, nunca corri atrás. Mas eu vou começar a estudar pra certificação então eu vou aprender esses detalhes