java 根據(jù)枚舉獲取name
java
的枚舉
是我們常用的東西。枚舉一般是?VIP("1",?"vip")
這種形式。
有時候想從數(shù)據(jù)庫中獲取的屬性值去獲得ENUM
的name
。這種的話需要創(chuàng)建一個靜態(tài)方法將ENUM
的數(shù)據(jù)以哈希值的方式存入,其中將屬性作為key
。
@AllArgsConstructor
@Getter
public enum UserTypeEnum {
? ?/**
? ? * 用戶類型枚舉
? ? */
? ?VIP("1", "vip"), ?Free_MEMBER("6", "免費(fèi)用戶");
? ?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);
? ?}
}
標(biāo)簽: