由于Enum.valueOf匹配不到枚举时会出现异常,这个可以用try...catch来解决,但是这样会导致代码往臃肿的道路上越走越远。 本文与其说是解决Enum.valueOf找不到枚举出现的异常还不如说是换了解决方案: 现在有这么一个枚举 /** * 类型操作接口 */ public interface TypeEnum { Boolean ret(); // 表示是某个...
相应的,enum中的valueOf方法则是把字符串转化为枚举常量对象,例如:valueOf("SPRING")将返回一个SPRING对象 toString和valueOf是两个方向相反的方法 因此在重写toString方法的时候最好顺便把valueOf方法也相对应的重写了 valueOf方法 默认的valueOf方法的( )中必须输入跟罗列出来的枚举常量名一模一样的字符串才能转换,...
publicenumColor{RED,BLUE,GREEN}publicclassEnumExample{publicstaticvoidmain(String[]args){// 使用valueOf()方法判断Enum值是否存在try{Colorcolor=Color.valueOf("RED");System.out.println("Enum值存在:"+color);}catch(IllegalArgumentExceptione){System.out.println("Enum值不存在");}// 使用values()方法...
3.Enum默认实现了java.lang.Comparable接口。 4.Enum覆载了了toString方法,因此我们如果调用Color.Blue.toString()默认返回字符串”Blue”. 5.Enum提供了一个valueOf方法,这个方法和toString方法是相对应的。调用valueOf(“Blue”)将返回Color.Blue.因此我们在自己重写toString方法的时候就要注意到这一点,一把来说应...
Level level = Enum.valueOf(Level.class, "WARNING"); But all I get is compiler warnings like: Test.java:8: <T>valueOf(java.lang.Class<T>,java.lang.String) in java.lang.Enum cannot be applied to (java.lang.Class<java.util.logging.Level>,java.lang.String) I know in JDK versions...
如果指定的名称在枚举中不存在,则会抛出IllegalArgumentException异常。 枚举的valueOf()方法常用于将用户输入的字符串转换为枚举常量,或者在需要根据字符串动态选择枚举常量的场景中使用。 下面是一个示例代码: 代码语言:java 复制 enumColor{RED,GREEN,BLUE;}publicclassMain{publicstaticvoidmain(String[]args){String...
enum Fruit { APPLE, BANANA, ORANGE } String fruitName = 'APPLE'; Fruit fruit = Fruit.valueOf(Fruit.class, fruitName); System.out.println(fruit); //输出:APPLE 需要注意的是,如果给定的字符串名称不属于枚举类型中的任何一个常量,那么valueOf()方法会抛出IllegalArgumentException异常。因此,在使用该方...
[Android.Runtime.Register("valueOf", "(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;", "")] [Java.Interop.JavaTypeParameters(new System.String[] { "T extends java.lang.Enum<T>" })] public static Java.Lang.Object ValueOf (Java.Lang.Class enumClass, string name); Парам...
不允許 (多餘的空白字元。) 請注意,對於特定列舉類別 T ,可以使用該列舉上的隱含宣告 public static T valueOf(String) 方法,而不是此方法,從名稱對應至對應的列舉常數。 呼叫該類別的隱含 public static T[] values() 方法,即可取得列舉類別的所有常數。 在1.5 中新增。 的java.lang.Enum.valueOf(java....