在 Java 中将字符串转为枚举值
要理解此示例,您应该具备以下 Java 编程的知识:
示例:按字符串值查找枚举
public class EnumString {
public enum TextStyle {
BOLD, ITALICS, UNDERLINE, STRIKETHROUGH
}
public static void main(String[] args) {
String style = "Bold";
TextStyle textStyle = TextStyle.valueOf(style.toUpperCase());
System.out.println(textStyle);
}
}
输出
BOLD
在上面的程序中,我们有一个枚举 TextStyle
, 它表示文本块可以具有的不同样式,即粗体 BOLD
、斜体 ITALICS
、下划线 UNDERLINE
、删除线 STRIKETHROUGH
。
我们还有一个名为 style
的字符串,用于保存我们想要的当前样式。但是,它不是全部大写。
然后我们使用 enum TextStyle
的 valueOf()
方法来传递样式并获取我们需要的枚举值。
由于 valueOf()
采用区分大小写的字符串值,我们必须使用该 toUpperCase()
方法将给定的字符串转换为大写。
相反,如果我们直接使用下面的代码:
TextStyle.valueOf(style)
程序会抛出异常 No enum constant EnumString.TextStyle.Bold
。