Java枚举应用实例

news/2024/5/18 5:23:13 标签: 枚举, 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;
    }
}


http://www.niftyadmin.cn/n/1395024.html

相关文章

SUSE的更新源

下面的都是更新源&#xff0c;最好配合官网下的DVD&#xff0d;ISO一起使用&#xff0c;会收到意想不到的效果。下面有些是只要选择一个的&#xff0c;先ping下哪个快就用哪个。注意使用以下 代码时要用管理员权限&#xff0c;在命令前面加sudo,即&#xff08;sudo zypper ar h…

Solr查询语句的封装

package com.banksteel.mall.itemindex.constant; /** * Solr查询所用到的常量定义 * * author zhaiang * */ public interface SolrSynaxConstant { /** * 组查询进一步限制 */ public static final String GROUP_QUERY_PARAM "group.query&q…

Quartz定时任务配置

Spring集成Quartz定时任务框架介绍和Cron表达式详解在JavaEE系统中&#xff0c;我们会经常用到定时任务&#xff0c;比如每天凌晨生成前天报表&#xff0c;每一小时生成汇总数据等等。我们可以使用java.util.Timer结合java.util.TimerTask来完成这项工作&#xff0c;但时调度控…

mysql不能远程连接的问题

/usr/local/mysql/bin/mysql -uroot -p123 -h 192.168.3.96 ERROR 2003 (HY000): Cant connect to MySQL server on 192.168.3.96 (111)1、查看mysql服务的端口&#xff0c;netstat -nlp&#xff0c;如果服务端口不是3306&#xff0c;需要用-p参数指定2、查看iptables是否开启3…

换用代理IP的Webbrowser方法

用webbrowser做浏览器&#xff0c;换取代理IP是常用的功能&#xff0c;下面贴一段用到的换ip的代码&#xff01; View Code public class MyWebBrowser : WebBrowser{[ComImport, Guid("34A715A0-6587-11D0-924A-0020AFC7AC4D"),InterfaceType(ComInterfaceType.Int…

父子页面的相互调用

DOM方法&#xff1a;父窗口操作IFRAME&#xff1a;window.frames["iframeSon"].documentIFRAME操作父窗口: window.parent.documentjquery方法:在父窗口中操作 选中IFRAME中的所有输入框&#xff1a; $(window.frames["iframeSon"].document).find(":…

操作系统ISO文件下载地址

windows server 2003 sp2 64位下载地址 cn_win_srv_2003_r2_enterprise_x64_with_sp2_vl_cd1_X13-47314.iso (617.68 MB)ed2k://|file|cn_win_srv_2003_r2_enterprise_x64_with_sp2_vl_cd1_X13-47314.iso|647686144|107F10D2A7FF12FFF0602FF60602BB37|/ ----------------------…

JS对数组的操作

1、数组的创建1var arrayObj new Array(); //创建一个数组23var arrayObj new Array([size]); //创建一个数组并指定长度&#xff0c;注意不是上限&#xff0c;是长度45var arrayObj new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值要说明的…