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

转自: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());
		// 遍历集合list
		System.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:朋友




  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值