enums - 枚举中冲突的“名称”声明
问题描述
我有一个简单的枚举类,我想在其中有一个名为name的字段。
enum class DeviceFieldQuery(val clazz: Class<*>) {
id(Int::class.java),
name(String::class.java),
}
不幸的是,这似乎在 Kotlin 中不起作用。编译失败并显示以下消息:
错误:(9, 5) Kotlin:冲突声明:枚举条目名称,公共最终 val 名称:字符串
与 Java 代码相同的 Enum 类可以正常工作。我如何在 Kotlin 中解决这个问题?
解决方案
Kotlin 中的枚举name
已经定义了一个属性(如 Java)。这与您的枚举冲突称为name
. 要修复它,您可以将其大写,这更惯用:
enum class DeviceFieldQuery(val clazz: Class<*>) {
Id(Int::class.java),
Name(String::class.java),
}
推荐阅读
- python - 在scrapy CSV导出管道中关闭打开的csv文件
- r - 如何在 R 中的多个列表中创建新列?
- c# - 如何使用rest sharp将文件上传到C#中的api
- plsql - Ora 06502 用于 apex_web_service.g_request_headers 不记名令牌 PLSQL
- ios - iOS 中的 getStream 聊天 API 响应
- python - 如何获取 CPU 支持的可以进行超线程的线程数?
- bootstrap-4 - Boostrap 4 折叠侧边栏必须点击两次
- java - 添加对象后Java图形变慢
- python - 如何告诉 for 循环从头开始读取文件?
- python - pd.NamedAgg 覆盖以前的列值