Copy Code code as follows:
/**
* Get the parameter type of the reflection method based on the method name (note When using the overloaded method with the same name)
* @param obj class instance
* @param methodname Method name
* @return
* @throws ClassNotFoundException
*/
public static class[] Getmethodparamtypes (Object classinstance,
String methodname) throws classnotfoundexception{
class[] paramtypes = null;
Method[] methods = Classinstance.getclass (). GetMethods ();//All methods
for (int i = 0; i< methods.length; i++) {
if (Methodname.equals (Methods[i].getname ())) {//Match the incoming method name
class[] params = Methods[i].getparametertypes ();
Paramtypes = new class[params.length];
for (int j = 0; J < Params.length; J + +) {
PARAMTYPES[J] = Class.forName (Params[j].getname ());
}
Break
}
}
return paramtypes;
}
Get the method test (test class you can write it all, not listed here)
Methods M = Test.class.newInstance (). GetClass (). Getdeclaredmethod (method name, Getmethodparamtypes ( Test.class.newInstance (), "method name"));