建立枚舉java
public enum MessageTypeEnum { // 類型:0.通常消息,1.公告消息,2交易消息,3.活動消息,4.其餘消息 type_general("通常消息", "0"), type_ann("公告消息", "1"), type_trading("交易消息", "2"), type_activity("活動消息", "3"), type_other("其餘消息", "4"); }
獲取對象 建立實體類ide
// 成員變量 private final String name; private final String code;//code爲int則改成相同類型 MessageTypeEnum(String name, String code) { this.name = name; this.code = code; } public String getName() { return name; } public String getCode() { return code; }
根據code獲取name 反之this
public static String getName(String code) { for (MessageTypeEnum c : MessageTypeEnum.values()) { if (c.getCode().equals(code)) { return c.name; } } return null; } public static String getCode(String name) { for (MessageTypeEnum c : MessageTypeEnum.values()) { if (c.getName().equals(name)) { return c.code; } } return null; }
在使用的實體類中建立新的一個字段或在原字段上替換(建議建立新的字段)code
// 類型:0.通常消息,1.公告消息,2.交易消息,3.活動消息,4.其餘消息 private String messageTypeStr; public String getMessageTypeStr() { if (messageTypeStr == null || messageTypeStr.isEmpty()) { this.messageTypeStr = MessageTypeEnum.getName(this.getMessageType()); } return messageTypeStr; }
獲取enum集合 list (其它集合相似):對象
建立新的實體類用於存儲集合數據遊戲
/** * 存儲e枚舉集合數據 * * @author 遊戲人生 * date: 2019年6月27日12:20:36 */ public class SelectBean { private String key; private String value; public String getKey() { return key; } public void setKey(String key) { this.key = key; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } @Override public String toString() { return "SelectBean{" + "key='" + key + '\'' + ", value='" + value + '\'' + '}'; }
獲取list集合的方法get
public static List<SelectBean> getList() { List<SelectBean> list = new ArrayList<>(); try{ SelectBean bean ; for(MessageTypeEnum e: MessageTypeEnum.values()){ bean = new SelectBean(); bean.setKey(e.getCode()); bean.setValue(e.getName()); list.add(bean); } }catch (Exception e) { } return list; }
package com.beidou.shop.enums.message; import java.util.ArrayList; import java.util.List; /** * 消息類型 * * @author 遊戲人生 * date: 2019年6月25日14:25:26 */ public enum MessageTypeEnum { // 類型:0.通常消息,1.公告消息,2交易消息,3.活動消息,4.其餘消息 type_general("通常消息", "0"), type_ann("公告消息", "1"), type_trading("交易消息", "2"), type_activity("活動消息", "3"), type_other("其餘消息", "4"); // 成員變量 private final String name; private final String code; MessageTypeEnum(String name, String code) { this.name = name; this.code = code; } public static String getName(String code) { for (MessageTypeEnum c : MessageTypeEnum.values()) { if (c.getCode().equals(code)) { return c.name; } } return null; } public static String getCode(String name) { for (MessageTypeEnum c : MessageTypeEnum.values()) { if (c.getName().equals(name)) { return c.code; } } return null; } public String getName() { return name; } public String getCode() { return code; } public static List<SelectBean> getList() { List<SelectBean> list = new ArrayList<>(); try { SelectBean bean; for (MessageTypeEnum e : MessageTypeEnum.values()) { bean = new SelectBean(); bean.setKey(e.getCode()); bean.setValue(e.getName()); list.add(bean); } } catch (Exception e) { } return list; } public static void main(String[] args) { System.out.println(MessageTypeEnum.getCode("公告消息")); System.out.println(MessageTypeEnum.getName("1")); System.out.println(MessageTypeEnum.getList()); } }
運行結果:it
1 公告消息 [SelectBean{key='0', value='通常消息'}, SelectBean{key='1', value='公告消息'}, SelectBean{key='2', value='交易消息'}, SelectBean{key='3', value='活動消息'}, SelectBean{key='4', value='其餘消息'}]