首页 技术 正文
技术 2022年11月20日
0 收藏 796 点赞 2,578 浏览 2020 个字

对于枚举,初学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<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.3、运行结果

完成了,虽然内容有点短,但是又不合适跟其他结合在一起,因此就单独写了一篇博客。太水勿怪哈。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,918
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,444
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,255
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,069
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,701
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,741