java 根据枚举获取name
java
的枚举
是我们常用的东西。枚举一般是 VIP("1", "vip")
这种形式。
有时候想从数据库中获取的属性值去获得ENUM
的name
。这种的话需要创建一个静态方法将ENUM
的数据以哈希值的方式存入,其中将属性作为key
。
@AllArgsConstructor
@Getter
public enum UserTypeEnum {
/**
* 用户类型枚举
*/
VIP("1", "vip"), Free_MEMBER("6", "免费用户");
public final String code;
public final String desc;
private static final Map<String,UserTypeEnum> map = new HashMap<>();
static
{
for (UserTypeEnum t: EnumSet.allOf(UserTypeEnum.class))
{
map.put(t.getCode(),t);
}
}
public static UserTypeEnum getType(String code)
{
return map.get(code);
}
}