農林漁牧網

您現在的位置是:首頁 > 漁業

「Java三分鐘」精準而優雅——列舉類詳解

2022-01-19由 熊喵不是貓嘍 發表于 漁業

列舉常量怎麼用

「Java三分鐘」精準而優雅——列舉類詳解

關注我,每天三分鐘,帶你輕鬆掌握一個Java相關知識點。

1。為什麼要用列舉

你在讀一個老工程程式碼時,是否經常看見有幾個類,裡面放著成百上千的靜態常量,場面相當恐怖,而且如果不加註釋,很多你都不知道這些常量代表這什麼。而且這些靜態常量可以隨意更改甚至參加計算,安全性就不用說了。

你在讀業務原始碼時,經常性的能看到這樣的程式碼:

「Java三分鐘」精準而優雅——列舉類詳解

要是這1234沒有註釋,那真的心態當場爆炸。

為了解決以上這些問題,列舉型別就應運而生了。那麼什麼是列舉類呢?它又怎麼解決上述問題的呢?

「Java三分鐘」精準而優雅——列舉類詳解

我們來看看列舉類的使用:

「Java三分鐘」精準而優雅——列舉類詳解

「Java三分鐘」精準而優雅——列舉類詳解

執行結果:

「Java三分鐘」精準而優雅——列舉類詳解

以上是一個簡單的列舉類示例,我們可以看到,程式碼的可讀性明顯增強了,你能直接透過列舉項瞭解它代表的意思,遠遠勝於之前的一堆完全不知道是什麼意思的靜態變數。

switch-case語句對列舉的支援更是讓程式碼書寫的便捷性大大提高。

程式碼的後期維護,我就不用多說了吧,如果用以前的1234,你還要去靜態常量類中去找解釋去。

2。怎麼建立列舉

「Java三分鐘」精準而優雅——列舉類詳解

1)要在類上加上 enum

2)把列舉項,用有意義的單詞表達出來,如MAN、WOMAN(這裡推薦大寫)。

其實以上兩步就完成了一個列舉類的建立。但你可以使用列舉項的屬性來完成更高階的用法。

3)在列舉上後面加上括號,可以寫多個屬性,但要注意,每個列舉項的屬性型別和數量要保持一致。

4)在構造引數中,新增你的列舉類的屬性,並構建對應屬性的get方法。

3。應用場景

1)字典表中對應的字典。如果你是寫web後端的人員,那麼前端傳過來的下拉框中的屬性值你一定不陌生,我們之前常用的做法是去字典表中根據code去查name,有了列舉,你可以針對一些不經常改動的字典生成列舉,如男女、是否、星期。

2)與switch-case合用。上述例子用已經給出了使用例子,可以看到程式碼可讀性非常高,即使換另一個程式設計師來維護,也能輕鬆讀懂。

3)標識一些常量。這個用法就和之前靜態常量的使用方法相同了,另外多說一句,列舉類編譯完後,也是public static final +列舉項。

以上就是今天的知識點,各位小夥伴get到嗎?創作不易,望各位多多點贊收藏,有什麼建議可以留言告訴我,我會積極採納!