字符串转换成枚举类型的方法:
在Java中,我们可以使用Enum类的valueOf()方法将字符串转换为枚举类型。下面是详细的步骤:
- 了解枚举类型的定义方式
首先需要定义一个枚举类型,其定义方式如下:
public enum Color {
RED, GREEN, BLUE;
}
这里定义了3个常量RED、GREEN和BLUE,它们属于枚举类型Color。
- 使用valueOf()方法进行转换
有了枚举类型的定义之后,可以使用valueOf()方法将字符串转换为枚举类型。如下所示:
String colorStr = "BLUE";
Color color = Color.valueOf(colorStr);
上述代码可以将字符串"BLUE"转换为枚举类型Color的BLUE常量。需要注意的是,valueOf()方法的参数字符串必须是枚举类型中定义的常量名称,否则会抛出IllegalArgumentException异常。
- 处理异常
如果字符串不能转换为枚举类型,将会抛出IllegalArgumentException异常。为了避免程序崩溃,需要进行异常处理,如下所示:
String colorStr = "YELLOW";
try {
Color color = Color.valueOf(colorStr);
} catch (IllegalArgumentException e) {
System.out.println("不支持" + colorStr + "这种颜色");
}
上述代码中,当字符串"valueOf()"的参数不是枚举类型中定义的常量名称时,系统会抛出IllegalArgumentException异常,程序通过try-catch块捕获该异常并输出错误信息。
示例1:
假设现在有一个枚举类型Weekday,其中包含了七个常量:周一到周日,分别对应1到7。如下所示:
public enum Weekday {
MONDAY(1),
TUESDAY(2),
WEDNESDAY(3),
THURSDAY(4),
FRIDAY(5),
SATURDAY(6),
SUNDAY(7);
private int value;
private Weekday(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
现在需要将字符串"MONDAY" 转换为枚举类型。代码如下:
String weekdayStr = "MONDAY";
Weekday weekday = Weekday.valueOf(weekdayStr);
System.out.println(weekday);
输出结果为:
MONDAY
示例2:
假设现在有一个枚举类型Gender,其中包含了两个常量:MALE和FEMALE。如下所示:
public enum Gender {
MALE,
FEMALE;
}
现在需要将字符串"OTHER" 转换为枚举类型。代码如下:
String genderStr = "OTHER";
try {
Gender gender = Gender.valueOf(genderStr);
} catch (IllegalArgumentException e) {
System.out.println("不支持" + genderStr + "这种性别");
}
输出结果为:
不支持OTHER这种性别
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:字符串转换成枚举类型的方法 - Python技术站