我最近一直在研究 Kotlin lang 及其与 java 的互操作性。我有以下java代码:
public void select(int code) {
switch code {
case Service.CONSTANT_ONE:
break;
case Service.CONSTANT_TWO:
break;
default:
break;
}
}
其中Service.kt
写成如下:
class Service {
companion object {
val CONSTANT_ONE = 1
val CONSTANT_TWO = 2
}
}
Java 编译器说 CONSTANT_ONE 和 CONSTANT_TWO 必须是常量,但我不知道如何使它们比现在更常量。所以我的问题是:如何在 java swicth 语句中使用来自 kotlin 的常量?
我正在使用 jdk8 和 kotlin M14。
最佳答案
M14 更改状态“从 M14 开始,我们需要在 Kotlin 常量前加上 const 才能在注解中使用它们,并将其视为 Java 中的字段”
class Service {
companion object {
const val CONSTANT_ONE = 1
const val CONSTANT_TWO = 2
}
}
IntelliJ 在 Java 案例中仍然向我显示错误,但它可以编译并工作。
关于java - 在 java switch 表达式中使用 kotlin 常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33109264/