1
在调试我的代码时,我用枚举上的switch语句碰到了这个有趣的场景。使用Java switch语句和枚举的有趣结果
对我来说,它看起来应该不会编译,并阻止我犯这个愚蠢的错误,有什么我缺少的地方可以使用这种语法?
我的Java版本是1.6.0_10
private enum E_TEST
{
A, B, C, D, E
}
public static void main(String[] args)
{
for(E_TEST e : E_TEST.values())
{
switch(e)
{
case A: B: C: D: E:
{
System.out.println(e);
break;
}
}
}
}
为了完整起见,这段代码的输出结果如下。
A
是什么让你觉得,这段代码失败了,是它切换部分(或)情况的一部分?我强烈怀疑你的java版本为7 http://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.11 – kosa
我的预期输出是ABCDE,以获得我的预期结果在需要关键字的情况下在所有的枚举前面。 我希望编译器能够发现这个错误。 – bandanna2k