Получение переданного имени параметра в Java?
Как получить переданное имя параметра, то есть имя, с которым он был передан во время выполнения?
Например:
int mParam = 10;
public void func (int myParam){
//print wanted name
}
func(mParam);
Требуемый выход:
mParam
Используя отражение, мне удалось получить:
myParam
2 ответа
Я думаю, что это невозможно в Java. Поскольку Java использует передачу по значению для передачи параметра. Таким образом, когда вы передаете параметр в func(), он передает только значение переменной, ничего больше.
Узнать о параметре, определенном функцией, можно с помощью пакета lect.parameter в java. Если вы хотите узнать подробности о параметре вызываемой функции, вы можете проверить этот вопрос. Могу ли я получить имя параметра метода с помощью отражения Java?
Но вы не можете знать имя параметра, который передается.
Вы можете изменить свой метод func, чтобы получить 2 параметра, таких как:
public void func (int myParam, String myParamName){
//print wanted name
}
Или еще лучше передать карту в качестве параметра:
public void func (Map<String, Integer> map){
//print wanted name
}
Таким образом, вы можете передать именованные целые числа и получить целое число по имени в вашем методе