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