Problema com Reflection + tipo Class

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

Sempre que você usar reflection dê preferencia a usar as wrapper ao invés do primitivo.

Olhando seu código parece estar correto, excetuando:

[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;[/code]

Você diz que tem um int e uma String, porém passa dois ints como argumentos.

Esse erro que você está tendo é em compilação ou runtime?

Acredito que é porque int é um tipo primitivo e se vc usar a classe Integer vai resolver

RESULVIDO.
Eu estava, mais abaixo, convertendo o bbb[1] para String. Resolvi criar o bbb[1] já como String, aí funcionou (sei lá por que).

Obrigado pela ajuda!