Получение имени переменной в Java

87
8

Можно ли получить имя переменной в Java во время выполнения?


Возможный прецедент: в утверждениях. Учитывая утверждение типа


assert percval >= 0 && percval <= 100 : "percval out of range: " + percval;

В зависимости от вашей IDE, если вы реорганизуете код, переименуйте переменную, она не может автоматически изменять вхождения в строки. Возможный результат:


assert percentage >= 0 && percentage <= 100 : "percval out of range: " + percentage;

Было бы неплохо, если бы что-то вроде этого:


assert percval >= 0 && percval <= 100 : nameOf(percval) + " out of range: " + percval;

Возможные?

спросил(а) 2017-03-15T13:48:00+03:00 3 года, 4 месяца назад
1
Решение
68

Я не уверен, возможно ли это до java 8, но с java 8, вы можете следовать следующей ссылке и достичь того, чего хотите сделать.


Резюме этого дается следующим образом:

Предоставить механизм для легкого и надежного извлечения параметра имена методов и конструкторов во время выполнения через отражение ядра.


ответил(а) 2017-03-15T15:38:00+03:00 3 года, 4 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема