业务中涉及到的状态字段或者简单的选择项的使用。
例如:
1.定义enum枚举类。
package com.yjl.enums;import java.util.Objects;public enum GoodsUnitEnum { 重量("重量",),
件数("件数",),
体积("体积",);
String type;
Integer index; GoodsUnitEnum(String type, Integer index) {
this.type = type;
this.index = index;
} public String getType() {
return type;
} public Integer getIndex() {
return index;
} /**
* 通过index获取value
* @param index 枚举索引
* @return 枚举值
*/
public static String getValue(Integer index) {
for (GoodsUnitEnum c : GoodsUnitEnum.values()) {
if (Objects.equals(c.getIndex(), index)) {
return c.type;
}
}
return null;
}
/**
* 通过value获取index
* @param type 枚举值
* @return 枚举索引
*/
public static String getIndex(String type) {
for (GoodsUnitEnum c : GoodsUnitEnum.values()) {
if (Objects.equals(c.getType(), type)) {
return c.index+"";
}
}
return "error";
}}
2,(扩展)获取该枚举类中所有选择项:
package com.yjl.util;import com.yjl.enums.GoodsUnitEnum;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class EnumUtil { public static List<Map<String, String>> getGoodsUnitEnum() {
List<Map<String, String>> lm = new ArrayList<>();
Map<String, String> m;
for (int i = ; i < GoodsUnitEnum.values().length; i++) {
m = new HashMap<>();
m.put("id", GoodsUnitEnum.values()[i].getIndex() + "");
m.put("type", GoodsUnitEnum.values()[i].getType() + "");
lm.add(m);
}
return lm;
}}
3,(使用)简单使用一下;
可以通过名称获取类型;可以通过类型获取名称;也可以索引。