Javaでenumを書いたみたけども
こういう書き方ってありなんかな。Javaの感覚がわからない。
public enum MessageType { None("0"), Foo("1"), Bar("2"), Baz("3"); private static final HashMap<String, MessageType> map; private final String code; static { map = new HashMap<String, MessageType>(); for (MessageType type : MessageType .values()) { map.put(type.getCode(), type); } } private MessageType (String code) { this.code = code; } public String getCode() { return code; } public static MessageType parse(String code) { if (map.containsKey(code)) { return map.get(code); } throw new IllegalArgumentException(); } }