在开发的时候,看到一种管理枚举类的工具类,可以方便地帮我们提高效率以及方便地拿到枚举类不同对象对应的一些值。
具体设计如下,以label为String类型为例,其他类型设计大同小异。
1、创建EnumUtils类:
public class EnumUtils {
}
2、创建枚举类要实现的顶级接口类
public class EnumUtils {
public interface LabelOptionField{
String getLabel();
}
}
3、创建枚举类要实现的直接接口类(分别管理value为 String类型的(StringValueOptionField)、value为Integer类型的(IntValueOptionField)、value为二进制数类型的(BitFlagIntValueOptionField))
public class EnumUtils {
public interface LabelOptionField{
String getLabel();
}
public interface StringValueOptionField extends LabelOptionField{
String getValue();
default boolean testValue(String value){
return this.getValue().equals(value);
}
}
4、创建一个ConcurrentHashMap用于存储不同