java枚举根据int类型获取字符串
时间: 2024-01-25 11:03:25 浏览: 95
可以使用Java枚举类的valueOf()方法,将int类型的值转换成对应的枚举常量,然后再调用枚举常量的toString()方法获取字符串。示例代码如下:
```java
enum Color {
RED, GREEN, BLUE
}
int i = 1;
Color color = Color.values()[i];
String colorStr = color.toString();
System.out.println(colorStr); // 输出 GREEN
```
在上面的示例代码中,我们定义了一个枚举类型Color,其中包含三个枚举常量:RED、GREEN和BLUE。接着,我们定义了一个int类型的变量i,其值为1。然后,通过Color.values()[i]获取对应的枚举常量,即Color.GREEN。最后,调用Color.GREEN.toString()方法获取字符串"GREEN"。
相关问题
java 枚举转换_java 中枚举类型,整型,字符串之间转换
在 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` 异常。
java枚举类的值是枚举类型,需要Int类型
枚举类型的值不一定需要是int类型,它可以是任何Java数据类型,包括字符串、浮点数、甚至是自定义的对象类型。在Java中,枚举类型是一种特殊的类,它的每个枚举常量都是该类的一个实例对象,因此可以对枚举常量进行方法调用和属性访问。如果需要将枚举类型的值转换为int类型,可以使用枚举类型的ordinal()方法,该方法返回该枚举常量在枚举类型中的索引值,从0开始计数。例如:假设有一个Weekday枚举类型,包含MONDAY、TUESDAY等7个枚举常量,可以通过Weekday.MONDAY.ordinal()来获取MONDAY的索引值,即0。
阅读全文