Ola pessoal…
Qual a melhor maneira de estar invocando um metodo a partir de uma string… o usuario me envia uma string contendo o nome do metodo a ser chamado…
Valeu!!!
Daniel…
www.nerd.com.br
peça suas pizzas e dvds on-line.
Ola pessoal…
Qual a melhor maneira de estar invocando um metodo a partir de uma string… o usuario me envia uma string contendo o nome do metodo a ser chamado…
Valeu!!!
Daniel…
www.nerd.com.br
peça suas pizzas e dvds on-line.
num switch?
a ideia eh nao utilizar condicoes…
e sim receber uma string, verificar se existe um metodo com aquele nome e invocala, caso nao existe gerar uma exception…
Olá Daniel!!
Não apenas a melhor, como eu acho, a única maneira, é se utilizar da API de reflexão do JAVA.
Quando você faz uma chamada Class.forName(“pacote.Classe”), por exemplo, está chamando uma classe a partir de uma String.
Procure tutoriais sobre reflexão de objetos ou se vc tiver o Core Java, ele tem uns exemplos legais.
Um exemplo bem fácil é esse:
(não compilei, é apenas o espírito da coisa)
public void acessaMetodo (Object object,String metodo)
{
Class objClass = object.getClass();
Object objObject = object;
Class[] parameteros = new Class[1];
parametros[0] = Integer;
Method objMethod = objClass.getDeclaredMethod(metodo,parametros)
}
Abraços!
cara, tu pode tentar algo com refletion… tem pacote disso ai no tiger… mas eu nao faço nem idéia de como funfa… na ultima Mundo Java tem uns exemplos
Tenta assim:
Class.forName("NomeDaClasse").getMethod("método", null).invoke(this,null);
Valeu pessoal, resolvi com reflection !!! alias um belo recurso inclusive para criar metodos dinamicamente…
Obrigado!
Daniel Bertini
nerd.com.br
peca suas pizzas ou alugue seus filmes online…