Java枚举应用实例

package com.banksteel.mall.itemindex.enums;

/**
 * @description: 排序字段枚举
 * @projectName:banksteel-mall-item-index-domain
 * @className:SortFieldEnum.java
 * @see: com.banksteel.mall.itemindex.enums
 * @author:wangchong
 * @createTime:2016年1月5日 下午2:00:27
 * @version 3.0.0
 */
public enum SortFieldEnum
{
    /**
     * 一级品种代码
     */
    FIRST_CATEGORY_CODE("firstCategoryCode"),
    /**
     * 一级品种名称
     */
    FIRST_CATEGORY_NAME("firstCategoryName"),
    /**
     * 二级品种代码
     */
    SECOND_CATEGORY_CODE("secondCategoryCode"),
    /**
     * 二级品种名称
     */
    SECOND_CATEGORY_NAME("secondCategoryName"),
    /**
     * 三级品种代码
     */
    THIRD_CATEGORY_CODE("thirdCategoryCode"),
    /**
     * 三级品种名称
     */
    THIRD_CATEGORY_NAME("thirdCategoryName"),
    /**
     * 品种代码
     */
    CATEGORY_CODE("categoryCode"),
    /**
     * 品种名称
     */
    CATEGORY_NAME("categoryName"),
    /**
     * 规格代码
     */

     * 价格
     */
    PRICE("price"),
    /**
     * 是否过期
     */
    IS_OUT_DATE("isOutDate"),
    /**
     * 匹配分数
     */
    SCORE("score");

    /**
     * 字段名称
     */
    private String fieldName;

    /**
     *
     * @description: 根据fieldName获取排序枚举
     * @param fieldName
     * @return
     * @author: wangchong
     * @createTime:2016年1月13日 下午4:06:26
     */
    public SortFieldEnum getEnum(String fieldName)
    {
        SortFieldEnum resultEnum = null;
        SortFieldEnum[] enumAry = SortFieldEnum.values();

        for (int i = 0; i < enumAry.length; i++)
        {
            if (enumAry[i].getFieldName().equals(fieldName))
            {
                resultEnum = enumAry[i];
                break;
            }
        }

        return resultEnum;
    }

    /**
     *
     * @description: 实例化方法
     * @param fieldName
     * @author: wangchong
     * @createTime:2016年1月5日 上午11:17:06
     */
    private SortFieldEnum(String fieldName)
    {
        this.fieldName = fieldName;
    }

    public String getFieldName()
    {
        return fieldName;
    }
}

订单Map型实现

package com.banksteel.order.enums;

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

public enum OrderStatusEnum
{
    /**
     * 待付款
     */
    WAITPAY("待付款",1),
    
    /**
     * 待提货
     */
    WAITBILL("待提货",2),
    
    /**
     * 待二次结算
     */
    WAITSETTLEMENT("待二次结算",3),

    /**
     * 交易失败
     */
    TRADEFAIL("交易失败",9),
    
    /**
     * 交易成功
     */
    TRADESUCCESS("交易成功",10);

    /** 描述*/
    private String desc;
    /** 枚举值*/
    private int value;
    
    private OrderStatusEnum(String desc, int value)
    {
        this.desc = desc;
        this.value = value;
    }
    
    public int getValue()
    {
        return value;
    }

    public void setValue(int value)
    {
        this.value = value;
    }

    public String getDesc()
    {
        return desc;
    }

    public void setDesc(String desc)
    {
        this.desc = desc;
    }
    
    public static OrderStatusEnum getEnum(int value)
    {
        OrderStatusEnum resultEnum = null;
        OrderStatusEnum[] enumAry = OrderStatusEnum.values();

        for (int i = 0; i < enumAry.length; i++)
        {
            if (enumAry[i].getValue() == value)
            {
                resultEnum = enumAry[i];
                break;
            }
        }

        return resultEnum;
    }
    
    public static Map<String, Map<String, Object>> toMap()
    {
        OrderStatusEnum[] ary = OrderStatusEnum.values();
        Map<String, Map<String, Object>> enumMap = new HashMap<String, Map<String, Object>>();

        for (int num = 0; num < ary.length; num++)
        {
            Map<String, Object> map = new HashMap<String, Object>();
            String key = String.valueOf(getEnum(ary[num].getValue()));
            map.put("desc", ary[num].getDesc());
            map.put("value", ary[num].getValue());

            enumMap.put(key, map);
        }

        return enumMap;
    }

    public static List<Map<String, Object>> toList()
    {
        OrderStatusEnum[] ary = OrderStatusEnum.values();
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();

        for (int i = 0; i < ary.length; i++)
        {
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("desc", ary[i].getDesc());
            map.put("value", ary[i].getValue());

            list.add(map);
        }

        return list;
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值