java枚举转为List集合示例代码

在实际开发中,除了使用常量存储固定不变的配置项外,我们还可以使用枚举类型的变量进行存储配置。通过枚举,我们可以自定义一些额外属性,比如:id、value等等,最后组装成List集合,转换成json格式(包含id、value),返回给前端。

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * 星期枚举
 */
enum Weekday {
    MON(1,"星期一"),
    TUE(2,"星期二"),
    WED(3,"星期三"),
    THU(4,"星期四"),
    FRI(5,"星期五"),
    SAT(6,"星期六"),
    SUN(0,"星期日");

    /**
     * 星期序号
     */
    public int dayNum;
    /**
     * 星期标题
     */
    public String dayTitle;

    /**
     * 构造方法
     * @param dayNum
     * @param dayTitle
     */
    Weekday(int dayNum,String dayTitle) {
        this.dayNum = dayNum;
        this.dayTitle = dayTitle;
    }

    /**
     * 获取枚举的list
     * @return
     */
    static List> getList(){
        List> list = new ArrayList<>();
        //通过枚举类的values()方法,转换成一个枚举类型的数组
        Weekday[] values = Weekday.values();
        for (int i = 0; i < values.length; i++) {
            //构造一个map
            HashMap hashMap = new HashMap<>();
            //将dayNum存储到id字段
            hashMap.put("id",values[i].dayNum);
            //将dayTitle存储到value字段
            hashMap.put("value",values[i].dayTitle);
            list.add(i,hashMap);
        }
        return list;
    }
}

/**
 * 测试
 */
class Demo{
    public static void main(String[] args) {
        //获取枚举转换后的list集合
        List> list = Weekday.getList();
        //打印
        System.out.println(list);
    }
}

执行结果:

[{id=1, value=星期一}, ...,...,{id=0, value=星期日}]
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章