0
public class SwitchTest {
public static void main(String[] args) {
Integer i = new Integer(2) + new Integer(2);
switch(i){
case 4: System.out.println("foo"); break;
default: System.out.println("default"); break;
}
}
}
整數i未標記爲最終。 (我只是java的初學者。)非終極變量如何成爲開關常量?
'i'在這裏不是「開關常量」,它是接通的變量。它會打開當前值,就像'if'一樣。 – lmm
開關參數不一定是最終的。在你的環境中有些東西是不正確的。 –
你也可以編寫:'switch(new Random()。nextInt())'沒有任何問題。但是你不能寫'case new Random()。nextInt():',因爲每個'case'需要一個*編譯時常量*。 – Tom