Kotlin:不能在外部枚举中使用伴随对象的 const val class
Kotlin: cannot use const val from companion object in an outer enum class
我有一个 Kotlin enum class 定义如下:
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
我可以通过将常量提取到源文件的顶层来解决这个错误,但我不喜欢这个解决方案。有没有其他办法解决这个问题?
我能够通过完全限定 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"
}
}
我有一个 Kotlin enum class 定义如下:
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
我可以通过将常量提取到源文件的顶层来解决这个错误,但我不喜欢这个解决方案。有没有其他办法解决这个问题?
我能够通过完全限定 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"
}
}