因為還沒有學到內部類,對於enum的用法有點模糊...

Java(enum)列舉用法詳解

直接來看記憶體模型,來了解一下enum實際上到底做了什麼

enum算是一個類

看到console的時候很疑惑為什麼會有兩次123,明明我只呼叫了female而已啊?

看了圖才知道enum會將例舉出的所有項目 都建立出實體,而且還是靜態的  (難怪有資料說enum很占記憶體?  -->  為什麼說列舉更佔記憶體,列舉原理是什麼?)

 

image

(根據連結中的說明)

列舉的方法

在enum中,提供了一些基本方法:

values():返回enum例項的陣列,而且該陣列中的元素嚴格保持在enum中宣告時的順序。

name():返回例項名。

ordinal():返回例項宣告時的次序,從0開始。

getDeclaringClass():返回例項所屬的enum型別。

equals():判斷是否為同一個物件。

可以使用 == 來比較enum例項。

 

 

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Lillian 的頭像
    Lillian

    安安的code日記

    Lillian 發表在 痞客邦 留言(0) 人氣()