在调试我的代码时,我在枚举时遇到了这个有趣的场景。
对我来说,看起来它不应该编译并阻止我犯这个愚蠢的错误,是否有一些我可以使用这种语法的地方?
我的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
答案 0 :(得分:4)
代码编译因为在行
case A: B: C: D: E:
B:,C:,D:和E:是标签。
它不符合您的期望,因为该行应
case A: case B: case C: case D: case E:
正如dasblinkenlight在他的帖子中所说。