JavaSE024_枚举的应用之存入List集合

来源:互联网 发布:windows defender禁用 编辑:程序博客网 时间:2024/06/18 11:31

转自:http://blog.csdn.net/u013142781/article/details/50471106

对于枚举,初学Java的时候可能我们就已经接触过了,但是在毕业前,其实一直都不知道真正工作里面枚举是怎么用的,枚举有什么用?接下来,博主就介绍枚举在实际工作中的一种使用场景,本文只适合初级的小菜鸟看哈,大神看了可别嘲笑这是水文哦,哈哈!
一、使用场景
在实际的工作中,比如我有一个选择家庭关系的下拉选择框,大家都是会是value和desc的组合,一般我们保存到数据库的都是value(英文),然后用户看到的是desc(中文)。但是我很多个页面会用到这样的下拉框,甚至可能很多个系统会用到,需要保持数据源的一致性,因此可以用一个枚举保存起来,然后提供一个接口,所有前端展示的数据源都是从这个接口里面获取。
可能看了这段文字仍然有点蒙,下面直接上代码,结合代码应该就清晰明了了。
二、使用实例

package com.cctvjiatao.Enum;/** * 建立枚举 *  * @author keletao */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;}}

接下来,我们需要做的可能就是,获取上面枚举的值,然后保存到list里面,如果使用springmvc的话,只需要将这个list传递到前端,然后前端使用js放到select节点里面。这里,我们讲解将枚举放到list部分:

package com.cctvjiatao.Enum;/** * 建一个dto *  * @author keletao */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;}}

package com.cctvjiatao.Enum;import java.util.ArrayList;import java.util.List;/** * 遍历枚举,将枚举里面的值放到list里面 *  * @author keletao */public class EnumTest {public static void main(String args[]) {// 遍历枚举System.out.println("----------遍历枚举FamilyRelation-------------");for (FamilyRelation familyRelation : FamilyRelation.values()) {System.out.println(familyRelation.getValue() + ":" + familyRelation.getDesc());}List<FamilyRelationDto> list = new ArrayList<FamilyRelationDto>();System.out.println("----------将枚举存入前,集合list的长度-------------");System.out.println("list的长度:" + list.size());// 将枚举存放到list里面for (FamilyRelation familyRelation : FamilyRelation.values()) {FamilyRelationDto familyRelationDto = new FamilyRelationDto();familyRelationDto.setValue(familyRelation.getValue());familyRelationDto.setDesc(familyRelation.getDesc());list.add(familyRelationDto);}System.out.println("----------将枚举存入后,集合list的长度-------------");System.out.println("list的长度:" + list.size());// 遍历集合listSystem.out.println("----------遍历List<FamilyRelationDto>集合list-------------");for(FamilyRelationDto dto:list){System.out.println(dto.getValue()+":"+dto.getDesc());}}}
【运行结果】:

----------遍历枚举FamilyRelation-------------
PARENT:父母
SPOUSE:配偶
BROUTHER:兄弟
SISTER:姐妹
SCHOOLMATE:同学
FRIEND:朋友
----------将枚举存入前,集合list的长度-------------
list的长度:0
----------将枚举存入后,集合list的长度-------------
list的长度:6
----------遍历List<FamilyRelationDto>集合list-------------
PARENT:父母
SPOUSE:配偶
BROUTHER:兄弟
SISTER:姐妹
SCHOOLMATE:同学
FRIEND:朋友




0 0
原创粉丝点击