给定枚举,如何将名称作为 List<String> 或 Set<String> 获取?

0 java

例如:

    public enum Day {
        MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY;
    }
Run Code Online (Sandbox Code Playgroud)

给定 Enums MONDAY, WEDNESDAY, SATURDAY,我可以获得元素所在的 List 或 Set ["monday", "wednesday", "saturday"]。Java中的任何方法?或者任何其他 Util 类?

Ism*_*ail 8

您可以使用values()枚举类型的方法,它返回一个包含枚举值的数组:

Day.values();
Run Code Online (Sandbox Code Playgroud)

如果要将数组转换为字符串列表,只需执行以下操作:

Arrays.stream(Day.values()).map( (v) -> v.name()).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)