Java基礎之枚舉妙用

來源:互聯網
上載者:User

Java基礎之枚舉妙用

對於枚舉,初學Java的時候可能我們就已經接觸過了,但是在畢業前,其實一直都不知道真正工作裡面枚舉是怎麼用的,枚舉有什麼用?接下來,博主就介紹枚舉在實際工作中的一種使用情境,本文只適合初級的小菜鳥看哈,大神看了可別嘲笑這是水文哦,哈哈!

一、使用情境

在實際的工作中,比如我有一個選擇家庭關係的下拉選擇框,大家都是會是value和desc的組合,一般我們儲存到資料庫的都是value(英文),然後使用者看到的是desc(中文)。但是我很多個頁面會用到這樣的下拉框,甚至可能很多個系統會用到,需要保持資料來源的一致性,因此可以用一個枚舉儲存起來,然後提供一個介面,所有前端展示的資料來源都是從這個介面裡面擷取。

可能看了這段文字仍然有點蒙,下面直接上代碼,結合代碼應該就清晰明了了。

二、使用執行個體

2.1、建立枚舉如下

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.2、枚舉的使用

接下來,我們需要做的可能就是,擷取上面枚舉的值,然後儲存到list裡面,如果使用springmvc的話,只需要將這個list傳遞到前端,然後前端使用js放到select節點裡面。

這裡之講解將枚舉放到list部分。

先建一個dto如下:

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裡面:

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 list = new ArrayList();        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.3、運行結果

完成了,雖然內容有點短,但是又不合適跟其他結合在一起,因此就單獨寫了一篇部落格。太水勿怪哈。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.