Sobes.tech
Back to questions
Junior — Middle
58

Как реализовать получение списка всех режимов, определённых в классе?

Answer from AI

sobes.tech AI

Если под "режимами" подразумеваются, например, константы или перечисления (enum) в классе, то получить их список можно разными способами.

Для enum в Java:

public enum Mode {
    MODE1,
    MODE2,
    MODE3;
}

// Получение всех режимов
Mode[] modes = Mode.values();
for (Mode mode : modes) {
    System.out.println(mode);
}

Если это статические поля в классе, можно использовать рефлексию:

import java.lang.reflect.Field;

public class MyClass {
    public static final String MODE1 = "mode1";
    public static final String MODE2 = "mode2";
    public static final String MODE3 = "mode3";
}

// Получение всех режимов
Field[] fields = MyClass.class.getDeclaredFields();
for (Field field : fields) {
    if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) {
        System.out.println(field.getName());
    }
}

Таким образом, для enum достаточно вызвать values(), а для статических полей — использовать рефлексию.