Junior — Middle
How to implement obtaining a list of all modes defined in a class?
sobes.tech AI
Answer from AI
If "modes" refer, for example, to constants or enumerations (enums) in a class, their list can be obtained in different ways.
For enums in Java:
public enum Mode {
MODE1,
MODE2,
MODE3;
}
// Getting all modes
Mode[] modes = Mode.values();
for (Mode mode : modes) {
System.out.println(mode);
}
If these are static fields in a class, reflection can be used:
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";
}
// Getting all modes
Field[] fields = MyClass.class.getDeclaredFields();
for (Field field : fields) {
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) {
System.out.println(field.getName());
}
}
Thus, for enums, simply call values(), and for static fields, use reflection.