我想用不同的方式初始化最後一個字段。因此我創建了一個枚舉類型並對其進行切換。Java在開關默認情況下抱怨最終字段沒有初始化
public enum TYPE {
A,
B,
}
我還添加了一個默認情況下該開關用聲明來警告我的同胞的程序員的情況下,他們增加一個新的枚舉常量和 忘記更新交換機。然而
default:
assert false : "missing TYPE detected";
的Java檢測我的論點中的謬誤,並抱怨說,空白字段可能沒有被初始化。我應該如何處理這種情況?
public class SwitchExample
{
public enum TYPE {
A,
B,
}
private final int foo;
public SwitchExample(TYPE t)
{
switch (t) {
case A:
foo = 11;
break;
case B:
foo = 22;
break;
default:
assert false : "missing TYPE detected";
}
// The blank final field foo may not have been initialized
}
}
然後就初始化它在你的'default' – 2013-04-09 09:10:40