淺析對(duì)java枚舉類型的認(rèn)識(shí)
而想弄明白枚舉類型是什么,就要把他和類進(jìn)行對(duì)比了。用ecplise創(chuàng)建一個(gè)類,你要使用這個(gè)類就得new一個(gè)對(duì)象出來對(duì)吧(當(dāng)然了,別較真,說我用他的靜態(tài)屬性和方法);而當(dāng)你用ecplise創(chuàng)建一個(gè)枚舉類型時(shí),在使用時(shí)是不需要再new的,它本身就創(chuàng)建好了幾個(gè)對(duì)象在其內(nèi)部,這也就是枚舉和類的最大區(qū)別。

首先,先創(chuàng)建一個(gè)枚舉,看一下它到底是什么東西。

我們給這個(gè)枚舉對(duì)象加入兩個(gè)對(duì)象(red和green),一個(gè)屬性,一個(gè)構(gòu)造方法,還有setget方法,這樣一個(gè)簡(jiǎn)單的枚舉類型就創(chuàng)建好了。

說說枚舉的用處:一般用于配置信息,比如顏色 赤=1、橙=2、黃=3、綠=4、青=5、藍(lán)=6、紫=7,這就可以創(chuàng)建一個(gè)枚舉類型,你可以把數(shù)字存儲(chǔ)到數(shù)據(jù)庫(kù),在代碼里面顯示漢字,這樣使得代碼易懂。(當(dāng)然了,你非得在數(shù)據(jù)庫(kù)中存儲(chǔ)漢字也行)。再比如,用于錯(cuò)誤信息返回:成功=1、失敗=-1、部分成功=0,這樣你在代碼里面寫的時(shí)候,別人一看就一目了然,你寫0、1、-1誰(shuí)知道什么意思。當(dāng)然了最終的值還是數(shù)字,可是再別人讀你程序的時(shí)候,看到的是有具體意思的單詞。說了這么多,可能還是有點(diǎn)迷惑,下面就是項(xiàng)目中的栗子。

說說我的理解:java中一切皆對(duì)象,不例外,枚舉(聲明好的枚舉類(暫且叫他枚舉類))也是一個(gè)對(duì)象。枚舉在創(chuàng)建完成之后就是一個(gè)對(duì)象(相對(duì)于類來說,對(duì)于類的對(duì)象需要new出來,才是一個(gè)對(duì)象,而對(duì)于枚舉來說,不需要new,本身就是一個(gè)對(duì)象,仿佛枚舉類的所有成員和方法都是靜態(tài)的意思),枚舉的結(jié)構(gòu)一般包括【對(duì)象,屬性,構(gòu)造方法,setget方法】;對(duì)于一個(gè)創(chuàng)建好的枚舉對(duì)象,可以通過枚舉名稱+對(duì)象名稱+setget進(jìn)行操作。

關(guān)鍵點(diǎn):一個(gè)創(chuàng)建好的枚舉類型本身就聲明好了自己的對(duì)象。

占內(nèi)存:Enums often require more than twice as much memory as static constants. You should strictly avoid using enums on Android.意思就是相對(duì)于類的靜態(tài)屬性來說,枚舉要多占一些內(nèi)存空間。占內(nèi)存:Enums often require more than twice as much memory as static constants. You should strictly avoid using enums on Android.意思就是相對(duì)于類的靜態(tài)屬性來說,枚舉要多占一些內(nèi)存空間。
相關(guān)文章
手動(dòng)構(gòu)建springBoot啟動(dòng)器過程圖解
這篇文章主要介紹了手動(dòng)構(gòu)建springBoot啟動(dòng)器過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
idea啟動(dòng)與jar包啟動(dòng)中使用resource資源文件路徑的問題
這篇文章主要介紹了idea啟動(dòng)與jar包啟動(dòng)中使用resource資源文件路徑的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
Spring中的10種事務(wù)失效的常見場(chǎng)景
這篇文章主要介紹了Spring中的10種事務(wù)失效的常見場(chǎng)景,Spring的聲明式事務(wù)功能更是提供了極其方便的事務(wù)配置方式,配合Spring Boot的自動(dòng)配置,大多數(shù)Spring Boot項(xiàng)目只需要在方法上標(biāo)記@Transactional注解,即可一鍵開啟方法的事務(wù)性配置,需要的朋友可以參考下2023-11-11
ZooKeeper入門教程二在單機(jī)和集群環(huán)境下的安裝搭建及使用
本文是ZooKeeper入門系列教程,涵蓋ZooKeeper的安裝使及單機(jī)集群環(huán)境搭建,通過實(shí)例和大量圖表,結(jié)合實(shí)戰(zhàn),幫助學(xué)習(xí)者理解和運(yùn)用,有需要的朋友可以借鑒參考下2022-01-01
SpringBoot?表單提交全局日期格式轉(zhuǎn)換器實(shí)現(xiàn)方式
這篇文章主要介紹了SpringBoot?表單提交全局日期格式轉(zhuǎn)換器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
Java調(diào)取創(chuàng)藍(lán)253短信驗(yàn)證碼的實(shí)現(xiàn)代碼
這篇文章主要介紹了Java調(diào)取創(chuàng)藍(lán)253短信驗(yàn)證碼的實(shí)現(xiàn)代碼,需要的朋友可以參考下2018-04-04

