zoukankan      html  css  js  c++  java
  • Enum枚举的使用实现

    业务中涉及到的状态字段或者简单的选择项的使用。

    例如:

    1.定义enum枚举类。

    package com.yjl.enums;
    
    import java.util.Objects;
    
    public enum GoodsUnitEnum {
    
        重量("重量",1),
        件数("件数",2),
        体积("体积",3);
        String type;
        Integer index;
    
        GoodsUnitEnum(String type, Integer index) {
            this.type = type;
            this.index = index;
        }
    
        public String getType() {
            return type;
        }
    
        public Integer getIndex() {
            return index;
        }
    
        /**
         * 通过index获取value
         * @param index 枚举索引
         * @return 枚举值
         */
        public static String getValue(Integer index) {
            for (GoodsUnitEnum c : GoodsUnitEnum.values()) {
                if (Objects.equals(c.getIndex(), index)) {
                    return c.type;
                }
            }
            return null;
        }
        /**
         * 通过value获取index
         * @param type 枚举值
         * @return 枚举索引
         */
        public static String getIndex(String type) {
            for (GoodsUnitEnum c : GoodsUnitEnum.values()) {
                if (Objects.equals(c.getType(), type)) {
                    return c.index+"";
                }
            }
            return "error";
        }
    
    }

    2,(扩展)获取该枚举类中所有选择项:

    package com.yjl.util;
    
    import com.yjl.enums.GoodsUnitEnum;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class EnumUtil {
    
        public static List<Map<String, String>> getGoodsUnitEnum() {
            List<Map<String, String>> lm = new ArrayList<>();
            Map<String, String> m;
            for (int i = 0; i < GoodsUnitEnum.values().length; i++) {
                m = new HashMap<>();
                m.put("id", GoodsUnitEnum.values()[i].getIndex() + "");
                m.put("type", GoodsUnitEnum.values()[i].getType() + "");
                lm.add(m);
            }
            return lm;
        }
    
    }

    3,(使用)简单使用一下;

    可以通过名称获取类型;可以通过类型获取名称;也可以索引。

  • 相关阅读:
    波卡(Polkadot)创始人Gavin Wood眼中加密世界
    DOT的目的是什么
    如何在波卡测试网上起验证人节点
    Polkadot波卡链众筹成本价与总量、创始人团队简介
    Polkadot验证节点的安全性和可用性
    RSA算法详解
    haproxy+keepalived原理特点
    haproxy+keepalived原理特点
    haproxy+keepalived原理特点
    python基础1习题练习
  • 原文地址:https://www.cnblogs.com/yangyuke1994/p/9856211.html
Copyright © 2011-2022 走看看