淺析對java枚舉類型的認識
而想弄明白枚舉類型是什么,就要把他和類進行對比了。用ecplise創(chuàng)建一個類,你要使用這個類就得new一個對象出來對吧(當然了,別較真,說我用他的靜態(tài)屬性和方法);而當你用ecplise創(chuàng)建一個枚舉類型時,在使用時是不需要再new的,它本身就創(chuàng)建好了幾個對象在其內(nèi)部,這也就是枚舉和類的最大區(qū)別。
首先,先創(chuàng)建一個枚舉,看一下它到底是什么東西。
我們給這個枚舉對象加入兩個對象(red和green),一個屬性,一個構(gòu)造方法,還有setget方法,這樣一個簡單的枚舉類型就創(chuàng)建好了。
說說枚舉的用處:一般用于配置信息,比如顏色 赤=1、橙=2、黃=3、綠=4、青=5、藍=6、紫=7,這就可以創(chuàng)建一個枚舉類型,你可以把數(shù)字存儲到數(shù)據(jù)庫,在代碼里面顯示漢字,這樣使得代碼易懂。(當然了,你非得在數(shù)據(jù)庫中存儲漢字也行)。再比如,用于錯誤信息返回:成功=1、失敗=-1、部分成功=0,這樣你在代碼里面寫的時候,別人一看就一目了然,你寫0、1、-1誰知道什么意思。當然了最終的值還是數(shù)字,可是再別人讀你程序的時候,看到的是有具體意思的單詞。說了這么多,可能還是有點迷惑,下面就是項目中的栗子。
說說我的理解:java中一切皆對象,不例外,枚舉(聲明好的枚舉類(暫且叫他枚舉類))也是一個對象。枚舉在創(chuàng)建完成之后就是一個對象(相對于類來說,對于類的對象需要new出來,才是一個對象,而對于枚舉來說,不需要new,本身就是一個對象,仿佛枚舉類的所有成員和方法都是靜態(tài)的意思),枚舉的結(jié)構(gòu)一般包括【對象,屬性,構(gòu)造方法,setget方法】;對于一個創(chuàng)建好的枚舉對象,可以通過枚舉名稱+對象名稱+setget進行操作。
關(guān)鍵點:一個創(chuàng)建好的枚舉類型本身就聲明好了自己的對象。
占內(nèi)存:Enums often require more than twice as much memory as static constants. You should strictly avoid using enums on Android.意思就是相對于類的靜態(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.意思就是相對于類的靜態(tài)屬性來說,枚舉要多占一些內(nèi)存空間。
相關(guān)文章
關(guān)于pom.xml中maven無法下載springcloud包問題
小編遇到這樣一個問題spring-cloud-starter-feign,spring-cloud-starter-eureka 一直無法下載,maven倉庫中包路徑顯示為unknown,怎么解決呢?下面小編給大家?guī)砹藀om.xml中maven無法下載springcloud包問題,需要的朋友可以參考下2022-08-08使用JPA中@Query 注解實現(xiàn)update 操作方法(必看)
下面小編就為大家?guī)硪黄褂肑PA中@Query 注解實現(xiàn)update 操作方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06