作為枚舉中的一個基礎類,是使用的方法中也有很多種,比如它能對枚舉進行說明,在知識點上和之前所學的接口、靜態方法等都能有所聯系。接下來我們對Enum類使用的一些范圍進行說明,然后帶來幾種Enum類常見使用方法的介紹,最后就其中的compareTo()方法帶來實例講解。
1.Enum類的說明
Enum類有兩個成員變量:name和ordinal。其中,name用于記錄枚舉常量的名字。比如APPLE、ORANGE和BANANA。ordinal用于記錄枚舉常量在聲明時的順序(從0開始)。比如APPLE是0、ORANGE是1、BANANA是2。
Enum類有一個構造函數,它有兩個入參,分別為name和ordianl賦值。
Enum類重寫了toString()方法,返回枚舉常量的name值。
Enum類重寫了equals()方法,直接用等號比較。
Enum類不允許克隆,clone()方法直接拋出異常。(保證枚舉永遠是單例的)
Enum類實現了Comparable接口,直接比較枚舉常量的ordinal的值。
Enum類有一個靜態的valueOf()方法,可以根據枚舉類型以及name返回對應的枚舉常量。
Enum類不允許反序列化,為了保證枚舉永遠是單例的。
2.Enum常見方法
(1)ordinal()方法:該方法獲取的是枚舉變量在枚舉類中聲明的順序,下標從0開始,如日期中的MONDAY在第一個位置,那么MONDAY的ordinal值就是0,如果MONDAY的聲明位置發生變化,那么ordinal方法獲取到的值也隨之變化,注意在大多數情況下我們都不應該首先使用該方法,畢竟它總是變幻莫測的。
(2)compareTo(E o)方法:比較枚舉的大小,注意其內部實現是根據每個枚舉的ordinal值大小進行比較的。
(3)name()方法與toString():幾乎是等同的,都是輸出變量的字符串形式。
(4)getDeclaringClass(): 返回該枚舉變量所在的枚舉類。
3.實例
以上面的compareTo()為例
輸出:
以上就是java中關于enum使用方法的介紹,相信大家對ordinal()、compareTo(E o)等方法都有了初步的了解,更多enum方法的使用,也會在接下來的文章中展現給大家。更多關于“Java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的好程序員班,高品質課程助力你實現java程序員夢想。