我们可以通过以下方法根据Enum的name获取对应的value: publicStringgetWeekdayValue(StringweekdayName){Weekdayweekday=Weekday.valueOf(weekdayName.toUpperCase());returnweekday.getChineseName();} 1. 2. 3. 4. 在这段代码中,我们使用了Java中的valueOf方法来获取指定name的Enum常量。需要注意的是,valueOf方法...
为了根据枚举名称获取枚举值,可以使用Enum.valueOf()方法。以下是一个使用valueOf()方法的示例: publicclassEnumExample{publicstaticvoidmain(String[]args){// 根据名称获取枚举值StringcolorName="GREEN";Colorcolor=Color.valueOf(colorName.toUpperCase());System.out.println("获取到的颜色是: "+color);}} 1...
}publicvoidsetName(String name) {this.name =name; } SeasonEnum(String name) {this.name =name; } } 测试含有构造方法的枚举类 publicclassSeasonEnumTest {publicstaticvoidmain(String[] args) {//测试枚举类的构造方法System.out.println(SeasonEnum.SPRING.getName()); } } 枚举类可以实现接口 比如如...
* @return Enum T * @author xiehao */ 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的...
//获取名字,就是对应值的字符串System.out.println(SeasonEnum.SPRING.name()); //这个就是输出SPRING 3、ordinal()获取值在枚举类中定义的顺序 //获取值在枚举类中定义的顺序System.out.println(SeasonEnum.SPRING.ordinal());//第0位输出0; 顺序从0开始... ...
从Enum类中我们可以看到,为每个枚举都定义了两个属性,name和ordinal,name表示我们定义的枚举常量的名称,如FRIDAY、TUESDAY,而ordinal是一个顺序号,根据定义的顺序分别赋予一个整形值,从0开始。在枚举常量初始化时,会自动为初始化这两个字段,设置相应的值,所以才在构造方法中添加了两个参数。即: 另外三个枚举常量生...
实现根据key获取value的方法: 我们可以通过遍历枚举的所有实例(通常通过values()方法),并比较每个实例的key是否与给定的key相匹配,来实现这一方法。 调用该方法: 最后,我们调用这个方法,并传入特定的key,以获取对应的value。 下面是具体的代码实现: java public enum MyEnum { // 定义枚举实例,同时初始化name(...
valueOf(Class<T> enumType, String name):根据指定的枚举类型和名称,返回对应的枚举常量。 此外,Enum类还包含一些其他的保护方法,如clone()、finalize()和反序列化相关的方法。 需要注意的是,枚举类型在编译时会由编译器自动生成一些方法,如values()和valueOf(String)方法,用于获取枚举类型的所有常量和根据名称获...
@Retention(RetentionPolicy.RUNTIME)public@interfaceApiPropertyReference{// 接口文档上的显示的字段名称,不设置则使用field本来名称Stringname()default"";// 字段简要描述,可选Stringvalue()default"";// 标识字段是否必填booleanrequired()defaultfalse;// 指定取值对应的枚举类Class<?extendsEnum>referenceClazz();}...
3. 实现根据英文名获取枚举值的方法 接下来,我们将实现一个方法,该方法可以根据传入的英文名获取对应的枚举值。 publicstaticDayOfWeekgetEnumValue(Stringname){for(DayOfWeekday:DayOfWeek.values()){if(day.name().equalsIgnoreCase(name)){returnday;}}thrownewIllegalArgumentException("Invalid day of week: "+na...