kotlin - 如何限制 Kotlin 中枚举值的使用?
问题描述
我可以通过 kotlin 语言功能以某种方式限制传入枚举的使用吗?例如,我有一个枚举
enum class Message {
NORMAL,
URGENT,
LETHAL
}
当我收到传入的 dto 时,我需要确保它只包含 URGENT 或 LETHAL 枚举值。我有点懒得写一个验证器,所以任何人都可以为这种情况建议一些 kotlin magick 吗?
解决方案
简单require
断言:
val message = Message.NORMAL
require(message in listOf(URGENT, LETHAL)) { "Message must be either urgent or lethal" }
推荐阅读
- elasticsearch - 弹性搜索(Kibana) - 布尔结果之间的相交
- python - python无法导入嵌套模块
- c# - 多个字段的 C# 不可变计数器
- c - 使用双指针向结构输入值时出现问题
- node.js - AWS Lambda 从 Windows 机器上创建的 zip 文件访问节点模块
- dataweave - 有没有我可以阅读的书可以帮助我使用数据编织?
- python - Python AWS - 从已发送电子邮件中获取RawMessageContent
- xamarin - SkiaSharp 在可点击的路径上制作位图
- c# - UNITY - 玩家控制器不向鼠标光标移动
- python - 使用 Python 根据数据更改 SQL UPDATE 语句