首页 > 解决方案 > 如何限制 Kotlin 中枚举值的使用?

问题描述

我可以通过 kotlin 语言功能以某种方式限制传入枚举的使用吗?例如,我有一个枚举

enum class Message {
    NORMAL,
    URGENT,
    LETHAL
}

当我收到传入的 dto 时,我需要确保它只包含 URGENT 或 LETHAL 枚举值。我有点懒得写一个验证器,所以任何人都可以为这种情况建议一些 kotlin magick 吗?

标签: kotlinenums

解决方案


简单require断言:

val message = Message.NORMAL
require(message in listOf(URGENT, LETHAL)) { "Message must be either urgent or lethal" }

推荐阅读