【问题标题】:why case constant must be compile time constant in switch为什么 case 常量必须是 switch 中的编译时常量 【发布时间】:2011-03-02 12:10:21 【问题描述】: 为什么 case 常量必须是 switch 中的编译时常量? 【问题讨论】: A Switch Java problem : case expressions must be constant expressions的可能重复 标签: java 【解决方案1】: 字节码格式要求它是一个常数,一方面。 另外,如果它是一个常量,编译器可以检查所有值是否不同——你不能有两次相同的情况。如果值可以在执行时更改,则不能这样做。 如果您不想使用常量,最好只使用 if/else。 【讨论】: