国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

java - enum是什么? 為什么有它? 怎么用?

瀏覽:66日期:2023-12-10 16:02:37

問題描述

實(shí)際現(xiàn)象

enum的基本會用, 但想追本溯源( 探討下本質(zhì) )

預(yù)期現(xiàn)象

拒絕教條式的摘抄文檔式的回答(時(shí)間重要)

求對enum深刻的認(rèn)識(至少在實(shí)際生產(chǎn)環(huán)境中寫過很多代碼) !

注: 我不是編程初學(xué)者, 一些初級概念無需科普

上下文環(huán)境

討論的對象, 為Java中的enum( 其實(shí)enum是一種概念 )

具體地, 是討論enum 這個關(guān)鍵字

問題解答

回答1:

可以用來代替定義類型常量 ,比如 訂單狀態(tài),證件類型等,保證類型安全 比如用普通的String類表示訂單狀態(tài),調(diào)用方可以傳一個不在訂單狀態(tài)范圍內(nèi)的String給被調(diào)用方,這種錯誤在編譯階段不能發(fā)現(xiàn)

java枚舉類本質(zhì)是一個多例模式實(shí)現(xiàn),單例模式是多例模式的一個特例

枚舉類不能繼承,比如enumA extends enumB不行

一個枚舉類 內(nèi)部類型有順序(order) 實(shí)現(xiàn)了 Comparable接口

回答2:

Effective Java 第6章有詳細(xì)的解釋,可以去看看

回答3:

可以簡單把enum看成一個有備注信息的int類型。

回答4:

被你的條件嚇到了,我就說一點(diǎn)我個人的想法

enum可以看做一種特殊的class,包含一些訪問性公開的常量,其實(shí)作為訪問性公開的常量來說,在類加載過程中已經(jīng)被解析到常量池,enum只是從語義的角度使用戶可以更方便地在使用常量時(shí)展示常量的含義。同時(shí)也方便了常量的構(gòu)造,循環(huán)遍歷某一類型的所有常量,在switch語句中使用等等。

回答5:

這個題目太泛,不太好回答。enum本質(zhì)上是一個繼承了java.lang.Enum的class,可以用在單例和需要限定輸入的地方

回答6:

先說說自己個人的膚淺的主觀的理解, 拋磚引玉.

我覺得 enum 出現(xiàn)的目的是:

提供一種管理常量的手段,

一種命名空間.

回答7:

enum的存在本身就是為了解決常量的可讀性的問題,在沒有enum之前,標(biāo)記一種狀態(tài),常使用int類型,其1,2之類的可讀性不是很好,而且新增一個常量要寫一個長長語句,為了解決這一系列問題在jdk5就加上了這個功能。其本質(zhì)就是一個類,只不過在創(chuàng)建enum的時(shí)候,會自動生成values()、ordinal()等方法,并且支持了switch語句,覆蓋了常量會出現(xiàn)的場景,比直接定義常量要方便使用。

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 2020毛片 | 国产aⅴ一区二区 | 亚洲最黄网站 | 成人免费在线播放视频 | 国产成人精品一区二三区 | 国产xvideos国产在线 | 国产午夜精品理论片影院 | 一区二区三区成人 | 久久久久久a亚洲欧洲aⅴ | 国产成人艳妇在线观看 | 亚洲精品视频免费看 | 成人永久福利在线观看不卡 | 国产一级在线观看www色 | 日韩性黄色一级 | 一区二区三区在线 | 网站 | 华人黄网站 | 亚洲午夜网站 | 99re热视频这里只精品 | 欧洲freexxxx性 | a高清免费毛片久久 | 欧美黄色免费 | 男女男在线精品网站免费观看 | 成年人黄色免费网站 | 欧美一级特黄视频 | 国产成年女一区二区三区 | 国产精彩视频在线观看 | 国产精品夜色视频一区二区 | 国产乱码精品一区二区三上 | 中文字幕在线视频网 | 日本免费毛片 | 自拍第一页 | 18成人免费观看网站入口 | 久久精品国产99久久99久久久 | 日本aaaa片毛片免费观看 | 成人精品在线视频 | 国产美女视频网站 | 日韩a毛片免费全部播放完整 | 欧美日韩亚洲成色二本道三区 | 国产精品亚洲精品影院 | 成人毛片在线视频 | 日韩亚洲人成网站在线播放 |