在java switch表达式中使用kotlin常量

Mik*_*ail 15 java kotlin

我最近一直在研究Kotlin lang和它与java的互操作.我有以下java代码:

public void select(int code) {
    switch code {
        case Service.CONSTANT_ONE:
            break;
        case Service.CONSTANT_TWO:
             break;
        default:
             break;
    }
}
Run Code Online (Sandbox Code Playgroud)

Service.kt写法如下:

class Service {
    companion object {
        val CONSTANT_ONE = 1
        val CONSTANT_TWO = 2
    }
}
Run Code Online (Sandbox Code Playgroud)

Java编译器说,CONSTANT_ONE和CONSTANT_TWO必须是常量,但我不知道,我怎么可以让他们更恒定的比现在.所以我的问题是:如何在java swicth语句中使用kotlin中的常量?

我正在使用jdk8和kotlin M14.

Jer*_*man 25

M14改变状态"从M14开始,我们需要使用const为Kotlin常量加上前缀,以便能够在注释中使用它们并将其视为来自Java的字段"

class Service {
    companion object {
        const val CONSTANT_ONE = 1
        const val CONSTANT_TWO = 2
    }
}
Run Code Online (Sandbox Code Playgroud)

IntelliJ仍然在Java案例中向我显示错误,但它编译并运行.