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
. - person lmm   schedule 23.12.2014switch(new Random().nextInt())
без проблем. Но вы не можете написатьcase new Random().nextInt():
, потому что каждомуcase
нужна константа времени компиляции. - person Tom   schedule 23.12.2014