我有一个这样定义的Kotlin 枚举类:
enum class EnumClass(val string: String) {
VALUE_A(A), // [1]
VALUE_B(B); // [2]
companion object {
const val A = "A"
const val B = "B"
}
}
并且编译器在 [1] 和 [2] 行中给我以下错误:
Variable 'A' must be initialized
Variable 'B' must be initialized
我可以通过将const提取到源文件的顶层来解决此错误,但我不喜欢这种解决方案。还有其他解决方法吗?
答案 0 :(得分:2)
我能够通过完全合格A
和B
来使它起作用:
enum class EnumClass(val string: String) {
VALUE_A(EnumClass.A),
VALUE_B(EnumClass.B);
companion object {
const val A = "A"
const val B = "B"
}
}