Pessoal, estou precisando de uma ajuda. Creio que seja simples, mas já tentei de várias maneiras, mas não resolvi.
Estou usando reflection pra executar um método de outra classe. O código é esse:
[code]Class[] aaa = new Class[2];
aaa[0] = int.class;
aaa[1] = String.class;
Object[] bbb = new Object[2];
bbb[0] = 32;
bbb[1] = 56;
Class clas = Class.forName("pacote.NewClass");
Object instance = clas.newInstance();
Method method77 = clas.getMethod("metodoAdicionar", aaa);
Object returnValue77 = method77.invoke(instance, bbb);
System.out.println(returnValue77);[/code]
Estou tentando usar o código, mas na linha 15 da o erro “Tipo de dado incompatível”.
Já tentei substituir
Class[] aaa = new Class[2];
Por
Object[] aaa = new Object[2];
Mas também não funciona.
Eu sei que eu poderia subtituir aquele “aaa” da 15ª linha por
Method method77 = clas.getMethod("metodoAdicionar", int.class, String.class);
(dessa maneira funciona)
Mas, como não sei certo quantos métodos e quais seus tipos, pensei em “criar” essa parte como se fosse um array, ou seja, quando eu identificar um tipo, adiciono ele, e apenas depois de adicionar todos, eu executaria o reflection.
Muito Obrigado