java 枚举转换_java 中枚举类型,整型,字符串之间转换
时间: 2024-02-28 20:54:38 浏览: 21
在 Java 中,枚举类型可以和整型和字符串类型进行转换。
1. 枚举类型转整型
枚举类型默认可以和整型进行转换。每个枚举常量都有一个 int 类型的序号,可以通过 `ordinal()` 方法获取。例如,假设有一个枚举类型 `Color`:
```
enum Color {
RED, GREEN, BLUE;
}
```
可以通过如下代码将枚举类型转换为整型:
```
Color color = Color.RED;
int ordinal = color.ordinal(); // ordinal = 0
```
2. 整型转枚举类型
可以通过枚举类型的 `values()` 方法获取所有的枚举常量,再根据序号获取对应的枚举常量。例如:
```
int ordinal = 1;
Color color = Color.values()[ordinal]; // color = GREEN
```
需要注意的是,如果序号超出了枚举常量的范围,会抛出 `ArrayIndexOutOfBoundsException` 异常。
3. 枚举类型转字符串
可以通过 `name()` 方法将枚举类型转换为字符串。例如:
```
Color color = Color.RED;
String name = color.name(); // name = "RED"
```
4. 字符串转枚举类型
可以通过枚举类型的 `valueOf()` 方法将字符串转换为枚举类型。例如:
```
String name = "GREEN";
Color color = Color.valueOf(name); // color = GREEN
```
需要注意的是,如果字符串不是枚举类型中的常量名称,会抛出 `IllegalArgumentException` 异常。