对于枚举,初学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.三、运行结果接口
完成了,虽然内容有点短,可是又不合适跟其余结合在一块儿,所以就单独写了一篇博客。太水勿怪哈。