Есть константа и переменная
final int FLAG_GET_TIME = 2;
String str;
Как сделать так, чтобы переменная "str" стала равна "FLAG_GET_TIME"?
Используя пакет java.lang.reflect можно получить поля класса и перебрать их в цикле. Например:
Field[] fields = MyClass.class.getDeclaredFields();
for (Field field : fields)
System.out.println(field.getName());
Проблема в том, что возвращаемый getDeclaredFields массив не сортирован и порядок элементов в нем не определен. Так что нельзя рассчитывать, что первое поле в коде будет также первым в массиве. В вашем условии вы анализируете только статические поля, поэтому можно сделать так:
Field[] fields = MyClass.class.getDeclaredFields();
for (Field field : fields)
if(Modifier.isStatic(field.getModifiers()))
str = field.getName();
Если статическое поле только одно, то этот код сработает так как вы хотите.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники