對於枚舉,初學Java的時候可能咱們就已經接觸過了,可是在畢業前,其實一直都不知道真正工做裏面枚舉是怎麼用的,枚舉有什麼用?接下來,博主就介紹枚舉在實際工做中的一種使用場景,本文只適合初級的小菜鳥看哈,大神看了可別嘲笑這是水文哦,哈哈!前端
在實際的工做中,好比我有一個選擇家庭關係的下拉選擇框,你們都是會是value和desc的組合,通常咱們保存到數據庫的都是value(英文),而後用戶看到的是desc(中文)。可是我不少個頁面會用到這樣的下拉框,甚至可能不少個系統會用到,須要保持數據源的一致性,所以能夠用一個枚舉保存起來,而後提供一個接口,全部前端展現的數據源都是從這個接口裏面獲取。java
可能看了這段文字仍然有點蒙,下面直接上代碼,結合代碼應該就清晰明瞭了。spring
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.三、運行結果接口
完成了,雖然內容有點短,可是又不合適跟其餘結合在一塊兒,所以就單獨寫了一篇博客。太水勿怪哈。