Java获取枚举内容转List<Map<Integer, String>>结构

这个博客介绍了如何将枚举类型StepTypeEnum的实例转换为List>结构的数据,便于数据展示和处理。枚举中包含了如'同意协议'、'活体检测'等步骤类型,并提供了静态方法获取对应解释和列表转换。
摘要由CSDN通过智能技术生成

使用 getList() 方法即可获取 List<Map<Integer, String>> 结构数据

import org.apache.commons.lang3.StringUtils;

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

public enum StepTypeEnum {

    AGREE_AGREEMENT(1, "同意协议"),
    OCR_DOCUMENT_IDENTIFY(2, "OCR证件识别核验"),
    OCR_WITNESS_IDENTIFY(3, "OCR人证识别"),
    LIVENESS_VERIFICATION(4, "活体检测"),
    WITNESS_DOCUMENT_COMPARISON(5, "人证比对");


    private final Integer code;
    private final String explain;

    StepTypeEnum(Integer code, String explain) {
        this.code = code;
        this.explain = explain;
    }

    public Integer getCode() {
        return code;
    }

    public String getExplain() {
        for (StepTypeEnum r : StepTypeEnum.values()) {
            if (r.getCode().equals(code)) {
                return r.explain;
            }
        }
        return null;
    }

    public static String getExplain(Integer code) {
        for (StepTypeEnum r : StepTypeEnum.values()) {
            if (r.getCode().equals(code)) {
                return r.explain;
            }
        }
        return null;
    }

    public static List<Map<String, String>> getList() {
        return getList(null, null);
    }

    public static List<Map<String, String>> getList(String keyName, String valName) {
        List<Map<String, String>> dataList = new ArrayList<>();
        for (StepTypeEnum c : StepTypeEnum.values()) {
            Map<String, String> data = new HashMap<>();
            data.put(StringUtils.isNotBlank(keyName) ? keyName : "value", String.valueOf(c.getCode()));
            data.put(StringUtils.isNotBlank(valName) ? valName : "label", c.getExplain());
            dataList.add(data);
        }
        return dataList;
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ark方舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值