Java解决Enum.valueOf找不到枚举出现的异常
若该值并不存在,valueOf会抛出一个IllegalArgumentException异常。为了更优雅地处理这一点,我们可以设计一个方法来处理该判断,并给出适当的反馈。 示例代码 接下来,我们将创建一个Day枚举,并用一个方法来判断前端传来的字符串是否是Day枚举的一个有效值。 publicenumDay{MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATUR...
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()方法...
变量 b 转换成字符串 String.valueOf(char c) : 将 char 变量 c 转换成字符串 String.valueOf...
可以看到toString确实是被覆载了。一般来说在覆载toString的时候我们同时也应该覆载valueOf方法,以保持它们相互的一致性。 4.使用构造函数 虽然enum不可以有public的构造函数,但是我们还是可以定义private的构造函数,在enum内部使用。还是用Color这个例子。 public enum Color { ...
1、默认继承的是java.lang.Enum类,非Object。因此不能显示的 继承其他父类。其中java.lang.Enum类实现了java.lang.Serializable和java.lang.Comparable两个接口 2、非抽象的枚举类型默认都是final修饰,因此枚举类不能派生子类。 3、枚举类的构造器只能使用private访问控制权限。省略默认private,强制写只能写private ...
inline fun <reified T : kotlin.Enum<T>>safeValueOf(type:String?): T? {returnjava.lang.Enum.valueOf(T::class.java,type) } 由于以下原因,下面的示例无法编译: 在inline fun <reified T : kotlin.Enum<T>> safeValueOf(type: kotlin.String?): T?中为T绑定的类型参数不满足:推断类型TestEnum?不...
客户端看不到这两个实现类的存在。如果 RegularEnumSet 不再为小型 enum 类型提供性能优势,它可能会在未来的版本中被删除,而不会产生任何负面影响。类似地,如果证明 EnumSet 有益于性能,未来的版本可以添加第三或第四个 EnumSet 实现。客户端既不知道也不关心从工厂返回的对象的类;它们只关心它是 EnumSet 的某个...
在应用枚举类时,常使用values(), ordinal() 和 valueOf() 三种方法。 1、values() 返回枚举类中所有的值。 2、ordinal()方法可以找到每个枚举常量的索引,就像数组索引一样。 3、valueOf()方法返回指定字符串值的枚举常量。 public class Ice{enum color{orange,green,grey,pink,blue;}public static void main...