首页 > 解决方案 > 如何从 Kotlin 中的 Int 创建枚举?

问题描述

我有这个enum

enum class Types(val value: Int) {
    FOO(1)
    BAR(2)
    FOO_BAR(3)
}

如何enum使用? 创建一个实例Int

我试着做这样的事情:

val type = Types.valueOf(1)

我得到了错误:

整数文字不符合预期的字符串类型

标签: kotlinenums

解决方案


enum class Types(val value: Int) {
    FOO(1),
    BAR(2),
    FOO_BAR(3);

    companion object {
        fun fromInt(value: Int) = Types.values().first { it.value == value }
    }
}

您可能希望为范围添加安全检查并返回 null。


推荐阅读