参数名称始终返回为" arg0"

时间:2015-07-01 19:21:23

标签: java

我正在使用'参数' java 8中的类获取参数的名称。

public class ParamTest {

public void newMethodParamTest() {
    try {
        Method[] declaredMethods = ParamTest.class.getDeclaredMethods();
        for (Method declaredMethod : declaredMethods) {
            if (declaredMethod.getName().equals("testObj")) {
                System.out.println(getParameterNames(declaredMethod));
                break;
            }
        }
    }
    catch(Exception e) {
        e.printStackTrace();
    }
}

public void testObj(int num) {
    System.out.println(num);
}

public static List<String> getParameterNames(Method method) {
    System.out.println(method.getName());
    Parameter[] parameters = method.getParameters();
    List<String> parameterNames = new ArrayList<>();

    for (Parameter parameter : parameters) {
        String parameterName = parameter.getName();
        parameterNames.add(parameterName);
    }
    return parameterNames;
}

public static void main(String[] args) {
    ParamTest test = new ParamTest();
    test.newMethodParamTest();
}

现在,当我运行此代码时,返回的值始终为arg0。我期待看到的是num

0 个答案:

没有答案