枚举中的'name'声明冲突



我有一个简单的枚举类,我想在其中有一个名为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),
}

最新更新