У меня есть перечислениеЕсть ли лучший способ получить String [] из Enum в Java?
public enum UnitSystem {
ImperialSystem("Imperial", "in.", 1),
MetricSystem("Metric", "cm.", 2.54);
private String unitSystemName;
private String lengthSuffix;
private double lengthCoeff;
Я пытаюсь получить String[] l
, который будет иметь {"Imperial", "Metric"};
, который представляет собой массив, содержащий unitSystemName
каждой системы. Прямо сейчас мой лучший выбор:
String[] l = Arrays.stream(UnitSystem.values()).map(UnitSystem::name).collect(Collectors.toList()).toArray(new String[UnitSystem.values().length]);
Есть ли лучший способ его реализовать?
Если его поля Enum вместо самого Enum, то это хорошее решение oneliner. Если вам это нужно на регулярной основе, вы всегда можете сохранить его в поле для упрощения доступа и производительности. – n247s