风之语者

博客园 首页 新随笔 联系 订阅 管理

在反射的时候我们可以通过class的getParameterNames()反射获得参数的名称,但是这个名称并不是参数的真实名称,而是类似于arg0,arg1等占位名称。

下面介绍一种方法获得参数真实名称

DefaultParameterNameDiscoverer discover = new DefaultParameterNameDiscoverer();
String[] parameterNames = discover.getParameterNames(method);

其中parameterNames就是参数的真实名称。

例如foo(string a, string b)

如果使用class.getParameterNames()会获得arg0, arg1.

而使用ParameternameDsicoverer获得的是a, b

 

posted on 2018-03-09 10:25  风之语者  阅读(7656)  评论(2编辑  收藏  举报