Получение переданного имени параметра в 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
}

Таким образом, вы можете передать именованные целые числа и получить целое число по имени в вашем методе

Другие вопросы по тегам