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