如何在方法内部获取当前方法的参数列表的类类型在方法内部实现与method.getParameterTypes();相同的效果;
2 回答
HUX布斯
TA贡献1876条经验 获得超6个赞
提个思路:finalStringmethodName=newException().getStackTrace()[0].getMethodName();然后反射拿到这个方法对应的Method实例。
SMILET
TA贡献1796条经验 获得超4个赞
publicclassCommon{//获取某方法的参数类型数组publicClass[]getParameterTypes(){returnthis.getParameterTypes(1);}publicClass[]getParameterTypes(inti){StackTraceElementstackTraceElement=newThrowable().getStackTrace()[i];try{Method[]ms=Class.forName(stackTraceElement.getClassName()).getMethods();for(Methodm:ms){if(m.getName().equals(stackTraceElement.getMethodName())){returnm.getParameterTypes();}}}catch(ClassNotFoundExceptionex){}returnnewClass[0];}}有问题或有更简便的方法请指出,谢谢;
添加回答
举报
0/150
提交
取消