我是这里的新手.有人能举个例子,用values和valueOf方法迭代枚举吗??

这是我的枚举类

enum class Gender {
    Female,
    Male
}

I know we can get the value like this

Gender.Female

但我想反复展示性别的所有价值观.我们如何才能做到这一点?任何帮助都将不胜感激

推荐答案

你可以这样使用values:

val genders = Gender.values()

自Kotlin 1.1以来,还有一些辅助方法可用:

val genders = enumValues<Gender>()

With the above you can easily iterate over all values:

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

要将枚举名映射到枚举值,请使用valueOf/enumValueOf,如下所示:

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

Kotlin相关问答推荐

如何在Jetpack Compose中的列中渲染图像

Android Jetpack编写androidx.compose.oundation.lazy.grid.Items

Kotlin中一个接口的实现问题

如何使用 Kotlin Maven 更改 Minecraft 插件中的 Shulker GUI 标题

如何将消费者放入 Kotlin 的 map 中?

mutableStateOf 在 Jetpack Compose 中不记住 API 的情况下保持重组后的值

Kotlin spring boot @RequestBody 验证未触发

Kotlin 方法重载

DatabaseManager_Impl 不是抽象的,不会覆盖 RoomDatabase 中的抽象方法 clearAllTables()

Jacoco在Gradle 7.0.2和Kotlin 1.5.10上失败

未找到导入 kotlinx.coroutines.flow.*

使用Dagger 2提供函数依赖性

编译错误:-Xcoroutines has no effect: coroutines are enabled anyway in 1.3 and beyond

我们如何在Java注释声明中引用Kotlin常量?

spring.config.location 在 Spring Boot 2.0.0 M6 上不起作用

如果kotlin已经有了getter和setter,为什么在数据类中有componentN函数?

WebFlux 功能:如何检测空 Flux 并返回 404?

Kotlin Flow 收集后无法执行代码

Kotlin 是否支持部分应用程序?

如何将 Kotlin 的 `with` 表达式用于可空类型