# Kotlin 程序：通过字符串值查找枚举

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

#### 在此程序中，您将学习使用枚举的`valueOf()`方法将 Kotlin 中的字符串值转换为枚举。

## 示例：按字符串值查找枚举

```kt
enum class TextStyle {
    BOLD, ITALICS, UNDERLINE, STRIKETHROUGH
}

fun main(args: Array<String>) {

    val style = "Bold"

    val textStyle = TextStyle.valueOf(style.toUpperCase())

    println(textStyle)

}
```

运行该程序时，输出为：

```kt
BOLD
```

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

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

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

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

相反，如果我们使用：

```kt
TextStyle.valueOf(style)
```

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

以下是等效的 Java 代码：[通过字符串值查找枚举的 Java 程序](/java-programming/examples/enum-by-string-value "Java program to lookup enum by string value")。