Chamada a um metodo

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

*/

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.

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

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

Wrapper classes! 8)

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

…e por aih vai :slight_smile:

Valeu, pessoAll,

Deu tudo certo… :smiley:

Até a próxima,

Roberto R. Costa Lima Jr

Estudante de Computação - UFC
SCP