對枚舉和靜態常量的理解


枚舉方便維護,靜態常量方便使用。

       1)枚舉型可以直接與數據庫打交道,我通常使用varchar類型存儲,對應的是枚舉的常量名。(數據庫中好像也有枚舉類型,不過也沒用過)

  2) switch語句支持枚舉型,當switch使用int、String類型時,由於值的不穩定性往往會有越界的現象,對於這個的處理往往只能通過if條件篩選以及default模塊來處理。而使用枚舉型后,在編譯期間限定類型,不允許發生越界的情況

  3) 當你使用常量類時,往往得通過equals去判斷兩者是否相等,使用枚舉的話由於常量值地址唯一,可以用==直接對比,性能會有提高

  4) 常量類編譯時,是直接把常量的值編譯到類的二進制代碼里,常量的值在升級中變化后,需要重新編譯引用常量的類,因為里面存的是舊值。枚舉類編譯時,沒有把常量值編譯到代碼里,即使常量的值發生變化,也不會影響引用常量的類。

  5)枚舉類編譯后默認為final class,不允許繼承可防止被子類修改。常量類可被繼承修改、增加字段等,容易導致父類的不兼容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM