为什么case常量必须是switch中的编译时间常量

时间:2011-03-02 12:10:22

标签: java

为什么case常量必须是switch中的编译时间常量?

1 个答案:

答案 0 :(得分:5)

字节码格式要求它是一个常数。

此外,如果它是常量,编译器可以检查所有值是否不同 - 您不能两次使用相同的情况。如果值可以在执行时更改,则无法执行此操作。

如果您不想使用常量,最好只使用if / else。