gpt4 book ai didi

kotlin - 如何从 kotlin 函数中选择正确的枚举值

转载 作者:行者123 更新时间:2023-12-05 02:30:52 25 4
gpt4 key购买 nike

我期待一些字符串值,如果我定义了相应的枚举值,我需要找到。

我的枚举值是

enum class Status {
Created, Updated
}

我想在这个函数中实现的是检查这些枚举值是否匹配,忽略大小写

private fun getStatus(
value: String
): Status {
....
}

如果没有匹配项,那么我想抛出一个错误。

非常感谢您的提前帮助!!

最佳答案

枚举的内置函数,如 Enum.valueOfenumValueOf<Enum>区分大小写,但您可以轻松编写自己的不区分大小写的版本:

inline fun <reified T : Enum<T>> enumValueOfIgnoreCase(key: String): T =
enumValues<T>().find { it.name.equals(key, ignoreCase = true) }
?: throw IllegalArgumentException("no value for key $key")

然后你可以写下面的例子来获得Status元素 Created :

val status = enumValueOfIgnoreCase<Status>("created")

关于kotlin - 如何从 kotlin 函数中选择正确的枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71742223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com