方便枚举类统一转换,不使用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;
}
}