marcinmoskala
07/08/2021, 11:06 AMinline fun <reified T : Enum<T>> enumValueOfOrNull(value: String): T? =
enumValues<T>().find { it.toString() == value }
// or
inline fun <reified T : Enum<T>> enumValueOfOrNull(value: String): T? = try {
enumValueOf<T>(value)
} catch (e: IllegalArgumentException) {
null
}
rnett
07/08/2021, 7:56 PMEnum.valueOfOrNull()
style, like Java's valueOf
. But that would need namespaces or something similar.