У меня есть следующий код
import java.util.Arrays;
public class CustomEnum {
//?? varName;
public <E extends Enum<E>> CustomEnum(Class<E> enumClass) {
System.out.println(Arrays.toString(enumClass.getEnumConstants()));
//?? varName = enumClass;
}
}
public enum Mode {
SAMPLE_A,
SAMPLE_B,
SAMPLE_C,
SAMPLE_D
}
, и я могу назвать его следующим образом
public static void main(String[] args) {
CustomEnum customEnum = new CustomEnum(Mode.class);
}
вывод кода
[SAMPLE_A, SAMPLE_B, SAMPLE_C, SAMPLE_D]
Что я хочу сделатьэто присвоить значение enumClass
переменной и назначить ее в конструкторе, но я не знаю, какого типа должна быть переменная, я пробовал несколькими способами, но я получаю ошибки компиляции, это возможно?
если вышеприведенное невозможно, как я могу преобразовать универсальный тип E[]
, который возвращается getEnumConstants()
в String[]
?