猿问

如何在方法内部获取当前方法的参数列表的类类型

如何在方法内部获取当前方法的参数列表的类类型在方法内部实现与method.getParameterTypes();相同的效果;
千巷猫影
浏览 943回答 2
2回答

HUX布斯

提个思路:finalStringmethodName=newException().getStackTrace()[0].getMethodName();然后反射拿到这个方法对应的Method实例。

SMILET

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];}}有问题或有更简便的方法请指出,谢谢;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答