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.三、運行結果接口

這裏寫圖片描述

完成了,雖然內容有點短,可是又不合適跟其餘結合在一塊兒,所以就單獨寫了一篇博客。太水勿怪哈。

相關文章
相關標籤/搜索