Получить значения enum как List of String в Java 8

Есть ли какой-либо метод Java 8 или простой способ, который возвращает значения Enum в виде списка строк, например:

List<String> sEnum = getEnumValuesAsString();

Ответы

Ответ 1

Вы можете сделать (pre-Java 8):

List<Enum> enumValues = Arrays.asList(Enum.values());

или

List<Enum> enumValues = new ArrayList<Enum>(EnumSet.allOf(Enum.class));

Используя функции Java8, вы можете сопоставить каждую константу с именем:

List<String> enumNames = Stream.of(Enum.values())
                               .map(Enum::name)
                               .collect(Collectors.toList());