缓存枚举属性
public enum TypeEnum { SINGLE("single") ; /** * 属性建议 final 修饰, 且不提供 setter */ private final String name; private TypeEnum(String name) { this.name = name; } public String getName() { return name; } /** * 缓存 */ private static final Map<String, TypeEnum> cache = new HashMap<>(values().length); static { for (TypeEnum typeEnum: values()) { cache.put(typeEnum.name, typeEnum); } } /** * <h3> * 根据某个属性获取具体的 Enum <br> * 方式一 * </h3> * @param name {@code String} 属性值 name * @return {@link TypeEnum} */ public static TypeEnum getTypeEnum(String name) { // for (TypeEnum typeEnum: values()) { // if (typeEnum.name.equals(name)) { // return typeEnum; // } // } // return null; return cache.get(name); }}
进阶使用
策略枚举
状态机