JAVA 枚举校验 允许null java实例
时间: 2023-07-25 20:32:10 浏览: 166
java枚举的一个实例
好的,如果需要允许 null 值的校验,可以在 valueOf() 方法的基础上进行扩展。具体来说,可以在枚举类型中添加一个 UNKNOWN 枚举值,用于表示输入值为 null 或无法识别的值。示例代码如下:
```java
public enum Fruit {
APPLE,
BANANA,
ORANGE,
UNKNOWN;
public static Fruit fromString(String input) {
if (input == null) {
return UNKNOWN;
}
try {
return Fruit.valueOf(input.toUpperCase());
} catch (IllegalArgumentException ex) {
return UNKNOWN;
}
}
}
public class EnumValidationDemo {
public static void main(String[] args) {
String input1 = "APPLE";
Fruit fruit1 = Fruit.fromString(input1);
System.out.println(fruit1);
String input2 = null;
Fruit fruit2 = Fruit.fromString(input2);
System.out.println(fruit2);
}
}
```
在上面的代码中,我们在 Fruit 枚举类型中添加了一个 UNKNOWN 枚举值,用于表示输入值为 null 或无法识别的值。然后,我们定义了一个静态方法 fromString(),该方法接受一个字符串参数,并返回对应的 Fruit 枚举值。在 fromString() 方法中,我们首先判断输入值是否为 null,如果是,则返回 UNKNOWN 枚举值。否则,我们尝试使用 valueOf() 方法将输入值转换为 Fruit 枚举值,如果转换失败,则返回 UNKNOWN 枚举值。在主函数中,我们分别使用 input1 和 input2 来测试 fromString() 方法,其中 input1 的值为 "APPLE",input2 的值为 null。运行程序后,输出结果分别为 APPLE 和 UNKNOWN,符合预期。
阅读全文