Chamada a um metodo

5 respostas
R

PessoAll,

Estou tentando instanciar uma classe e chamar um método dessa classe a partir de uns dados que recebo de um XML.

Por exemplo, recebo essas duas Strings:

className = “MyClass” e methodName = “myMethod()”.

Instanciar a classe eu já consigo com o
Object c = Class.forName(className).newInstance();

agora eu quero chamar o método que tem a assinatura em methodName (nesse caso myMethod() ) do objeto c, alguém tem alguma dica?

Valew,

/**
*

  • Roberto R. Costa Lima Jr
  • Estudante de Computação - UFC
  • SCP

*/

5 Respostas

Bani

Eu recomendo que você dê uma olhadinha na API, na parte de reflection.
Após ter obtido seu objeto Class você usa o método getDeclaredMethod para obter o objeto Method e aí chama o invoke nele.

R

Valeu, Bani, mas agora já tenho outro problema: se um método tem como parâmtero um tipo primitivo, como faço para passar o valor desse parâmetro, já que o invoke pede um Object[] como parâmetro?

Valeu,

Roberto R. Costa Lima Jr.

Estudante de Computação
SCP

Bani

Os tipos primitivos são representados pelo campo TYPE do respectivo wrapper. Ex: Boolean.TYPE, Integer.TYPE, etc

cv1

Wrapper classes! 8)

int = Integer
char = Character
boolean = Boolean
double = Double

…e por aih vai :slight_smile:

R

Valeu, pessoAll,

Deu tudo certo… :smiley:

Até a próxima,

Roberto R. Costa Lima Jr

Estudante de Computação - UFC
SCP

Criado 18 de agosto de 2003
Ultima resposta 18 de ago. de 2003
Respostas 5
Participantes 3