Java - 将字符串类型的值转换成枚举类型的教程

1,265 阅读1分钟

Javaenum 类有一个内置的方法,名为valueOf() ,允许你将一个String 转换为其等价的enum 值。

enum 类的valueOf() 方法是一个静态方法,所以你可以直接从该类中调用它,而不必创建一个实例。

让我们看看将一个String 转换为一个enum 的例子。

假设你有一个ColorsEnum ,在你的Java代码中声明如下:

enum ColorsEnum {
RED, GREEN, BLUE;
}

你可以转换任何与上述三个ColorsEnum 的值之一相匹配的String 值。

例如,字符串"RED" 将被转换为ColorsEnum.RED ,像这样:

ColorsEnum color = ColorsEnum.valueOf("RED");
System.out.println(color); // RED
System.out.println(color == ColorsEnum.RED); // true

请注意,valueOf() 方法只接受一个String 类型的值,并且是区分大小写的。

当字符串与任何枚举值的大小写不一致时,Java将抛出IllegalArgumentException 错误:

ColorsEnum color = ColorsEnum.valueOf("red");
// ERROR: No enum constant Main.ColorsEnum.red

ColorsEnum color = ColorsEnum.valueOf("WHITE");
// ERROR: No enum constant Main.ColorsEnum.WHITE

下面是将String 转换为enum 值的完整Java代码:

class Main {
// Create the enum class
 enum ColorsEnum {
RED, GREEN, BLUE;
}
public static void main(String[] myArgs) {
// Convert the string into an enum
 ColorsEnum color = ColorsEnum.valueOf("RED");
System.out.println(color); // RED
 System.out.println(color == ColorsEnum.RED); // true
 }
}

现在你已经学会了如何在Java中把一个String 转换成一个enum

欢迎在你的Java项目中使用上面的代码。 😉