Если вы используете Java 8, API потоков, вероятно, является самым простым способом получить нужные значения:
Stream.of(GenderEnum.values()) // create stream of enum constants
.map(e -> e.getType()) // for each constant, retrieve getType()
.collect(Collectors.toList()) // collect results into a list
Выражение e -> e.getType()
называется лямбда-выражением , и это краткий способ объявления очень простой функции.Оператор map
применяет эту функцию к каждому элементу в потоке, заменяя каждый элемент возвращаемым значением функции.В этом случае лямбда возвращает результат вызова e.getType()
, где e
считается значением GenderEnum
.
Простые лямбды, подобные этой, можно переписать в более сжатой форме, называемой a ссылка на метод , как в ответе @ ifly6.
Вместо этого вы можете собрать результаты в String[]
, заменив collect(Collectors.toList())
на toArray(String[]::new)
.