Copie o código do código da seguinte forma:
/**
* Obtenha o tipo de parâmetro do método de reflexão com base no nome do método (observe ao usar o método sobrecarregado com o mesmo nome sem considerá-lo)
* @param instância da classe obj
* @param methodName nome do método
* @retornar
* @throws ClassNotFoundException
*/
classe estática pública [] getMethodParamTypes (objeto classInstance,
String nomeMetodo) lança ClassNotFoundException{
Classe[] paramTypes = null;
Método[] métodos = classInstance.getClass().getMethods();//Todos os métodos
for (int i = 0; i< métodos.comprimento; i++) {
if(methodName.equals(methods[i].getName())){//Corresponde ao nome do método recebido
Class[] params = métodos[i].getParameterTypes();
paramTypes = nova classe[ params.length];
for (int j = 0; j < params.length; j++) {
paramTypes[j] = Class.forName(params[j].getName());
}
quebrar;
}
}
retornar paramTypes;
}
//Obtém o método test (você pode escrever o que quiser para a classe Test, não vou listar aqui)
Método m = Test.class.newInstance().getClass().getDeclaredMethod("Nome do método", getMethodParamTypes(Test.class.newInstance(),"Nome do método"));