据我理解,根据Java 8 JLS文档(链接),表达式
(1/0)
被认为是常量表达式,但是当我尝试使用OpenJDK 8编译以下程序时,出现了错误。public class Switch {
public static void main(String[] args) {
switch(42) {
case (1/0):
return;
default:
return;
}
}
}
错误显示(1/0)
不是常量表达式。
Switch.java:4: error: constant expression required
case (1/0):
^
1 error
我有遗漏什么吗?还是OpenJDK 8中存在一个错误?
(1/2)
,它是否有效? - Armand