先定义一个枚举类
@Getter
public enum ConsumptionEnums {
CONSUME("待结算", 0),
AUDIT("待审核", 1),
FINISH("归档", 2),
FAILURE("坏账", 3);
private String name;
private Integer value;
ConsumptionEnums(String name, Integer value) {
this.name = name;
this.value = value;
}
获取枚举类的枚举对象
//valus()方法获取枚举类的所有枚举对象,返回数组
ConsumptionEnums[] values = ConsumptionEnums.values();
//必要时可以转成List集合
List<ConsumptionEnums> consumptionEnums = Arrays.asList(ConsumptionEnums.values());
获取枚举对象的名字
for (ConsumptionEnums consumptionEnum : consumptionEnums)
{ //.name()方法获取枚举对象的名字
String name = consumptionEnum.name();
System.out.println("name = " + name);
}
//运行结果:
//name = CONSUME
//name = AUDIT
//name = FINISH
//name = FAILURE
获取枚举对象的属性值
for (ConsumptionEnums consumptionEnum : consumptionEnums)
{ //.getXxx()获取枚举对象的对应属性值,需要提供getter方法
String name = consumptionEnum.getName();
ystem.out.println("name = " + name);
}
//运行结果:
//name = 待结算
//name = 待审核
//name = 归档
//name = 坏账
for (ConsumptionEnums consumptionEnum : consumptionEnums)
{
Integer value = consumptionEnum.getValue();
System.out.println("name = " + value);
}
//运行结果
//name = 0
//name = 1
//name = 2
//name = 3
在springMVC中调用枚举对象
//通常用枚举对象的名字作为value值,防止sql注入
<#list status as status>
<option value="${status.name()}">${status.getName()}</option>
</#list>
//回显
//因为${}不会给内容加'',而选项的value值是一个字符串,需要加上''
$("select[name=groupByName]").val('${qo.groupByName}')
在前端控制台可以看到直接取值BUSINESS不带’ ’
枚举类的作用
1.定义一个枚举类相当于定义一种参数规范,针对很少变动的有限个数的同类参数做一个定义规范,使得开发过程中的参数应用更加的规范合理
2.枚举类的实例是确定的,因此对参数的加减和值有了限制,数据更加安全
3.实例相当于静态变量,但对比静态变量它可以定义属性,比静态变量更加灵活,适用性更广