在 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 TextStylevalueOf() 方法来传递样式并获取我们需要的枚举值。

由于 valueOf() 采用区分大小写的字符串值,我们必须使用该 toUpperCase() 方法将给定的字符串转换为大写。

相反,如果我们直接使用下面的代码:

TextStyle.valueOf(style)

程序会抛出异常 No enum constant EnumString.TextStyle.Bold