2
我想打電話給在Java中的switch case塊用Scala編寫的對象,但我得到一個錯誤:無法調用Scala的對象在一個開關的情況下在java中
case expressions must be constant expressions
在斯卡拉對象:
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;
}
Test.A
翻譯在Java將是public static final A
,所以我不知道爲什麼編譯器能夠兼容。
如果我只叫Test.A在java中我得到Test.A不能被解析爲一個類型,但如果我用Test.A()有用.. – user1917028