Java基础之枚举妙用

对于枚举,初学Java的时候可能咱们就已经接触过了,可是在毕业前,其实一直都不知道真正工做里面枚举是怎么用的,枚举有什么用?接下来,博主就介绍枚举在实际工做中的一种使用场景,本文只适合初级的小菜鸟看哈,大神看了可别嘲笑这是水文哦,哈哈!前端

1、使用场景

在实际的工做中,好比我有一个选择家庭关系的下拉选择框,你们都是会是value和desc的组合,通常咱们保存到数据库的都是value(英文),而后用户看到的是desc(中文)。可是我不少个页面会用到这样的下拉框,甚至可能不少个系统会用到,须要保持数据源的一致性,所以能够用一个枚举保存起来,而后提供一个接口,全部前端展现的数据源都是从这个接口里面获取。java

可能看了这段文字仍然有点蒙,下面直接上代码,结合代码应该就清晰明了了。spring

2、使用实例

2.一、创建枚举以下数据库

package com.luo.test;

public enum FamilyRelation {

    /** 父母 */
    PARENT("PARENT", "父母"),
    /** 配偶 */
    SPOUSE("SPOUSE", "配偶"),
    /** 兄弟 */
    BROUTHER("BROUTHER", "兄弟"),
    /** 姐妹 */
    SISTER("SISTER", "姐妹"),
    /** 同窗 */
    SCHOOLMATE("SCHOOLMATE", "同窗"),
    /** 朋友 */
    FRIEND("FRIEND", "朋友");

    private String value;
    private String desc;

    private FamilyRelation(String value, String desc) {
        this.setValue(value);
        this.setDesc(desc);
    }

    public String getValue() {
        return value;
    }

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

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}

2.二、枚举的使用markdown

接下来,咱们须要作的可能就是,获取上面枚举的值,而后保存到list里面,若是使用springmvc的话,只须要将这个list传递到前端,而后前端使用js放到select节点里面。mvc

这里之讲解将枚举放到list部分。this

先建一个dto以下:spa

package com.luo.test;

public class FamilyRelationDto {

    //关系值
    private String value;
    //关系描述
    private String desc;

    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }
    public String getDesc() {
        return desc;
    }
    public void setDesc(String desc) {
        this.desc = desc;
    }
}

将遍历枚举,将枚举里面的值放到list里面:code

package com.luo.test;

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

public class EnumTest {

    public static void main(String args[]){
        //遍历枚举
        System.out.println("----------遍历枚举-------------");
        for(FamilyRelation familyRelation : FamilyRelation.values()){
            System.out.println(familyRelation.getValue() + ":" + familyRelation.getDesc());
        }

        //将枚举存放到list里面
        List<FamilyRelationDto> list = new ArrayList<FamilyRelationDto>();
        for(FamilyRelation familyRelation : FamilyRelation.values()){
            FamilyRelationDto familyRelationDto = new FamilyRelationDto();
            familyRelationDto.setValue(familyRelation.getValue());
            familyRelationDto.setDesc(familyRelation.getDesc());
            list.add(familyRelationDto);
        }
        System.out.println("list的长度:" + list.size());
    }
}

2.三、运行结果接口

这里写图片描述

完成了,虽然内容有点短,可是又不合适跟其余结合在一块儿,所以就单独写了一篇博客。太水勿怪哈。

相关文章
相关标签/搜索