【发布时间】:2016-10-05 16:23:07
【问题描述】:
我有一个枚举
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]);
有没有更好的实现方式?
【问题讨论】:
-
如果它是关于枚举的字段而不是枚举本身,那么这是一个很好的单线解决方案。如果您经常需要它,您可以随时选择将其存储在一个字段中以便于访问和性能归纳。