我有一个简单的枚举类,我想在其中有一个名为name的字段。
enum class DeviceFieldQuery(val clazz: Class<*>) {
id(Int::class.java),
name(String::class.java),
}
不幸的是,这在 Kotlin 中似乎不起作用。编译失败并显示消息:
Error:(9, 5) Kotlin: Conflicting declarations: enum entry name, public final val name: String
与 Java 代码相同的 Enum 类可以正常工作。我该如何在 Kotlin 中解决这个问题?
最佳答案
Kotlin 中的枚举已经定义了一个 name
属性(如 Java)。这与您名为 name
的枚举冲突。要修复它,您可以将其大写,这更惯用:
enum class DeviceFieldQuery(val clazz: Class<*>) {
Id(Int::class.java),
Name(String::class.java),
}
关于enums - 枚举中的 'name' 声明冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54182398/