在main方法中,我们调用EnumUtil.getColorNameByValue方法,并传入一个value值来获取对应的枚举成员名称。然后,我们打印出这个名称。如果传入的value值没有对应的枚举成员,则会捕获并打印出一个异常信息。 通过以上步骤,我们可以在Java中通过枚举的value来获取对应的name。这种方法可以很方便地用于需要映射整数值到特定名称...
publicenumColor{RED("红色"),GREEN("绿色"),BLUE("蓝色");privateStringname;Color(Stringname){this.name=name;}publicStringgetName(){returnname;}publicstaticStringgetNameByValue(Stringvalue){for(Colorcolor:Color.values()){if(color.getName().equals(value)){returncolor.name();}}returnnull;}} 1...
public static <T extends EnumMessage> T getEnumObject(Object value, Class<T> clazz){ return (T) Constant.ENUM_MAP.get(clazz).get(value); } } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 最后编写测试语句: System.out.println(EnumUtil.getEnumObject("M"...
② Enum是一个抽象类,我们不能new一个Enum实例。 Enum的默认受保护构造器Enum(String, int),第一个参数是我们定义的枚举常量的名称,对应的field是Enum#name,第二个参数指的是枚举的顺序,对应的field是Enum#ordinal。 Enum定义了valueOf方法,用以根据枚举常量的name来获取枚举常量。 枚举虽然是class,但是并不支持继...
name(): TUE toString(): TUE ordinal():1 给enum 自定义属性和方法 给enum 对象加一下 value 的属性和 getValue() 的方法: packagecom.hmw.test;/*** 枚举测试类 * *@author何明旺*/publicenumEnumTest { MON(1), TUE(2), WED(3), THU(4), FRI(5)...
because some libraries don't treat them as first class citizens. They are also often used properly but there is a recurring issue that plagues many code bases which has inspired this post. The problem is simple, how should you get an Enum by its name or value and ignore non existant ...
(oldValue == null)size++;return unmaskNull(oldValue);}EnumMap key必须来自同一个枚举,在向Enum...
public static <T extends Enum<T>> T nameOf(Class<T> clazz, String name){ return (T) Enum.valueOf(clazz, name); } /** * 使用枚举类型对应的typeCode获取枚举类型 * T * @param clazz 枚举类的class * @param getTypeCodeMethodName 传入的typeCode的get方法 ...
public static <T extends Enum<T>> T nameOf(Class<T> clazz, String name){ return (T) Enum.valueOf(clazz, name); } /** * 使用枚举类型对应的typeCode获取枚举类型 * T * @param clazz 枚举类的class * @param getTypeCodeMethodName 传入的typeCode的get方法 ...
java枚举swith java枚举类根据key获取value @Test public void contextLoads(){ System.out.println("通过name获取value:"+test.getNameByValue("小猫")); System.out.println("通过value获取name:"+test.getNameByValue("小狗-1")); System.out.println("通过value获取name"+Enum.valueOf(test.class,"小猫"...