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项目中使用上面的代码。 😉