How do I create an enum from a string in Kotlin?

Kotlin enum classes have “static” function valueOf to get enum entry by string(like Java enums). Additionally they have “static” function values to get all enum entries. Example:

enum class MyEnum {
  Foo, Bar, Baz
}

fun main(args : Array<String>) {
  println(MyEnum.valueOf("Foo") == MyEnum.Foo)
  println(MyEnum.valueOf("Bar") == MyEnum.Bar)
  println(MyEnum.values().toList())
}

Leave a Comment