java判断某个输入值是否被包括再枚举类内
时间: 2023-05-21 21:00:46 浏览: 2234
可以使用Enum类的valueOf()方法来判断某个输入值是否被包括在枚举类内。例如:
enum Color {
RED, GREEN, BLUE;
}
public static boolean contains(String value) {
try {
Color.valueOf(value);
return true;
} catch (IllegalArgumentException e) {
return false;
}
}
在这个例子中,contains()方法会返回true如果输入的值是"RED"、"GREEN"或"BLUE",否则返回false。
相关问题
java检测某字符串是否被包含在枚举类内
可以使用Java中的Enum类的values()方法获取所有枚举值,然后遍历枚举值,判断目标字符串是否与枚举值相等或包含在枚举值中。
例如,假设有一个枚举类Color,包含了红、绿、蓝三种颜色:
```
public enum Color {
RED, GREEN, BLUE;
}
```
现在要检测字符串"RED"是否被包含在Color枚举类内,可以按照以下方式实现:
```
String target = "RED";
boolean isContained = false;
for (Color color : Color.values()) {
if (color.name().equals(target)) {
isContained = true;
break;
}
}
if (isContained) {
System.out.println(target + " is contained in Color enum.");
} else {
System.out.println(target + " is not contained in Color enum.");
}
```
其中,Color.values()方法返回一个Color枚举类的数组,遍历该数组,使用name()方法获取枚举值的名称,与目标字符串进行比较即可。如果匹配成功,则将isContained标记为true并退出循环。最后根据isContained的值输出结果。
java判断字符串值不在枚举类的值范围内
可以使用Java中的Enum类提供的valueOf()方法和try-catch语句来判断字符串值是否在枚举类的值范围内。具体实现如下:
1. 定义一个枚举类,例如:
```
public enum Color {
RED, GREEN, BLUE;
}
```
2. 在需要判断的代码中,使用try-catch语句来捕获valueOf()方法抛出的IllegalArgumentException异常,例如:
```
String colorStr = "YELLOW";
try {
Color color = Color.valueOf(colorStr);
// 字符串值在枚举类的值范围内
} catch (IllegalArgumentException e) {
// 字符串值不在枚举类的值范围内
}
```
在上述代码中,如果字符串值为"YELLOW",则会抛出IllegalArgumentException异常,进入catch块中,表示字符串值不在枚举类的值范围内;否则,会执行try块中的代码,表示字符串值在枚举类的值范围内。