我有一个简单的枚举类,我想在其中添加一个名为 name 的字段。
enum class DeviceFieldQuery(val clazz: Class<*>) {
id(Int::class.java),
name(String::class.java),
}
不幸的是,这在Kotlin中似乎不起作用。编译失败,并显示以下消息:
错误:(9,5)Kotlin:声明冲突:枚举项名称,公共最终值名称:String
与Java代码相同的Enum类可以正常工作。我该如何在Kotlin中解决这个问题?
答案 0 :(得分:2)
Kotlin中的枚举已经定义了name
属性(例如Java)。这与名为name
的枚举冲突。要解决此问题,您可以将其大写,这更常见:
enum class DeviceFieldQuery(val clazz: Class<*>) {
Id(Int::class.java),
Name(String::class.java),
}