Начиная с Java 1.8, это можно сделать , если имена параметров находятся в файлах классов .Используя javac
, это делается, передавая флаг -parameters
.Из справки javac
-parameters Generate metadata for reflection on method parameters
Из IDE вам нужно будет посмотреть настройки компилятора.
Если имена параметров находятся в файлах классов, то вот пример того, как это сделать.
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
public class ParameterNamesExamples {
public static void main(String[] args) throws Exception {
Method theDoSomethingMethod = ExampleClass.class.getMethods()[0];
// Now loop through the parameters printing the names
for(Parameter parameter : theDoSomethingMethod.getParameters()) {
System.out.println(parameter.getName());
}
}
private class ExampleClass {
public void doSomething(String myFirstParameter, String mySecondParameter) {
// No-op
}
}
}
Вывод будет зависеть от , если имена параметров находятся в файлах классов .Если они являются выходными данными:
myFirstParameter
mySecondParameter
Если нет, то выходными данными являются:
arg0
arg1
Более подробную информацию об этом из Oracle можно найти по адресу Получение имен параметров метода