kotlin - 在 kotlin 中使用 values() 和 valueOf 迭代枚举值

标签 kotlin

我是这里的新手。谁能举个例子用 values 和 valueOf 方法迭代枚举?

这是我的枚举类

enum class Gender {
    Female,
    Male
}

我知道我们可以得到这样的值

Gender.Female

但我想迭代并显示 Gender 的所有值。我们怎样才能做到这一点?任何帮助将不胜感激

最佳答案

您可以使用 values像这样:

val genders = Gender.values()

从 Kotlin 1.1 开始,还提供了一些辅助方法:

val genders = enumValues<Gender>()

通过以上,您可以轻松地遍历所有值:

enumValues<Gender>().forEach { println(it.name) }

要将枚举名称映射到枚举值,请使用 valueOf/enumValueOf像这样:

 val male = Gender.valueOf("Male")
 val female = enumValueOf<Gender>("Female")     

关于kotlin - 在 kotlin 中使用 values() 和 valueOf 迭代枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44300410/

相关文章:

kotlin - 如何在 build.gradle.kts 中的 Kotlin(1.4) 多平台项目中设置 gradle 任务以创建 fatJar

java - 无法通过其他手机的 NFC 读卡器读取 Google Pay Pass Activity 卡

android - 检测图像时 ArCore Sceneform : Play . mp4 视频

android - 如何在 Kotlin 中注入(inject)原始变量?

android - java.lang.RuntimeException:无法在单元测试中创建ViewModel类的实例

android - Fragment 类、MVVM、Viewmodel 中未解析的引用(vars)

android - 基于 API 级别的 GreenRobot EventBus 订阅

android - 无法从edittext获取数据,Android Kotlin

java - Firebase 连接在 SpringBoot 中的 Linux 上不起作用

generics - 在 Kotlin 运行时获取泛型类型