2011-10-11 121 views

回答

4

編號枚舉始終是引用類型,並且null是任何引用類型的有效值。您可以隨時

MyEnum x = null; 

,如果您有未明確初始化實例或靜態變量,它會始終默認爲空。

1

這可能是通過選擇Java Design By Contract系統並更改每個取得枚舉的函數使其不爲空來完成(非常非常痛苦)。當然,這對於現有項目來說是一項巨大的工作。

更實際的一點是,您可能會考慮將static code analysis tool集成到您的構建過程中。這也是一個很大的工作量(它可能會發現一個巨大的「bug」),但如果你有時間投資它,可能是可行的(仍然很痛苦)。正確的靜態代碼分析工具可能會檢測到這種錯誤。

相關問題