枚举类

方便枚举类统一转换,不使用values()而使用getEnumConstants()

public enum SomeEnum implements Option{


    A("A","一"),
    B("B","二");

    private String type;
    private String name;

    SomeEnum(String type, String name) {
        this.type = type;
        this.name=name;
    }

    public String getType() {
        return type;
    }

    public String getName() {
        return name;
    }

    public static void main(String[] args) {
        getOption(SomeEnum.class);
        //SomeEnum[] values = SomeEnum.values();
        //System.out.println("values = " + values);
        //List<SomeEnum> someEnums = Arrays.asList(values);
        //System.out.println("someEnums = " + someEnums);


    }

    public static List<OptionVo> getOption(Class clazz){
        Object[] enumConstants = clazz.getEnumConstants();
        List<Object> objects = Arrays.asList(enumConstants);//数组转集合
        List<OptionVo> list = objects.stream().map(
                obj -> {
                    Option target = (Option) obj;
                    OptionVo optionVo = new OptionVo();
                    optionVo.setType(target.getType());
                    optionVo.setName(target.getName());
                    return optionVo;
                }
        ).collect(Collectors.toList());
        return list;
    }
}

posted @ 2025-07-28 10:52  太阳终将升起  阅读(9)  评论(0)    收藏  举报