最近私はKotlin langとjavaとの相互運用性について調べてきました。私は、次のしているJavaコード:java switch式でkotlin定数を使用する
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を使用しています。
私はkotlinについて知らない。しかし、javaでは、コンパイル時にスイッチの定数を知る必要があります。したがって、コンパイル時に割り当てられた最終/定数フィールドは、switch文では使用できません。 –
@Pinkieええ、Javaコードのどこかで 'static final'として' CONSTANT_ONE'を宣言すれば、私はそれをswitch文で使うことができます。しかし、私はそれが今よりももっと厳しい方法でコトリンに書き込むことができたかどうかわかりません。 – Mikhail
M14は状態を変更します。「M14では、Kotlin定数に注釈で使用できるようにKotlin定数に接頭辞を付け、Javaのフィールドとして表示する必要があります」 –