因為還沒有學到內部類,對於enum的用法有點模糊...
直接來看記憶體模型,來了解一下enum實際上到底做了什麼
enum算是一個類
看到console的時候很疑惑為什麼會有兩次123,明明我只呼叫了female而已啊?
看了圖才知道enum會將例舉出的所有項目 都建立出實體,而且還是靜態的 (難怪有資料說enum很占記憶體? --> 為什麼說列舉更佔記憶體,列舉原理是什麼?)
(根據連結中的說明)
列舉的方法
在enum中,提供了一些基本方法:
values():返回enum例項的陣列,而且該陣列中的元素嚴格保持在enum中宣告時的順序。
name():返回例項名。
ordinal():返回例項宣告時的次序,從0開始。
getDeclaringClass():返回例項所屬的enum型別。
equals():判斷是否為同一個物件。
可以使用 == 來比較enum例項。
全站熱搜