# Java 程序：按字符串值查找枚举

> 原文： [https://www.programiz.com/java-programming/examples/enum-by-string-value](https://www.programiz.com/java-programming/examples/enum-by-string-value)

#### 在此程序中，您将学习使用枚举的`valueOf()`方法将字符串值转换为 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);
    }
}
```

运行该程序时，输出为：

```java
BOLD
```

在上面的程序中，我们有一个枚举`TextStyle`，它代表文本块可以具有的不同样式，即粗体，斜体，下划线，删除线。

我们还有一个名为`style`的字符串，其中包含我们想要的当前样式。 但是，并非全都使用。

然后，我们使用枚举`TextStyle`的`valueOf()`方法来传递样式并获取所需的枚举值。

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

相反，如果我们使用：

```java
TextStyle.valueOf(style)
```

该程序将引发异常`No enum constant EnumString.TextStyle.Bold`。