我想在java中的switch case块中调用Scala编写的对象,但是我收到错误:
case expressions must be constant expressions
scala中的对象是:
object Test {
val A = "a"
val B = "b"
}
在java中我有以下代码块:
String op = "a"
switch(op) {
case Test.A(): System.out.println("A"); break;
case Test.B(): System.out.println("B"); break;
}
在Java中翻译的 Test.A
将是public static final A
,因此我不知道编译器为什么会这样做。
答案 0 :(得分:2)
使用Test.A
和Test.B
引用变量,Test.A()
引用方法