【发布时间】:2018-11-21 06:38:09
【问题描述】:
我有一个枚举,其描述为字符串。这是枚举。
public enum tabs
{
A("Actual data"),
B("Bad data"),
C("Can data"),
D("Direct data");
private String description;
tabs(String desc)
{
this.description = desc;
}
public String getDescription()
{
return this.description;
}
}
现在,如果我需要 A 的数据,我会这样做
tabs.A.description
我正在创建一个通用方法来返回值。
我已经设法利用下面的通用方法来接受枚举类型作为参数。 它返回枚举常量的数组。 但我实际上希望它返回一个值数组。即 {"Actual data", "Bad data", "Can data", "Direct data"}。
public static String[] getActualTabs(Class<? extends Enum<?>> e)
{
return Arrays.stream(e.getEnumConstants()).map(Enum::name).toArray(String[]::new);
}
我有哪些选择来实现这一目标?
【问题讨论】:
-
改进建议:在Java中,类是大写的,例如String、Integer、Class。枚举只是一个常量类,所以
tabs应该是Tabs。