天天看點

java中如何獲得方法中的參數名

在反射的時候我們可以通過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