Java Enum学习总结
2019獨角獸企業重金招聘Python工程師標準>>>
?1. 關于 Java Enum:
????學過 C/C++ 等語言的人,應該都對 Enum 類型略知一二。 Enum 一般用來表示一組相同類型的常量。如性別、日期、月份、顏色等。 對這些屬性用常量的好處是顯而易見的,不僅可以保證單例,且比較時候可以用 ”==” 來替換 equals , 是一種好的習慣。 JDK1.5 之前沒有 Enum 這個類型,那時候一般用接口常量來替代。有了 JavaEnum 之后, 可以更貼近的表示這種常量。
2. 如何使用 Java Enum
簡單的用法: JavaEnum 簡單的用法一般用于代表一組常用常量,可用來代表一類相同類型的常量值。如:
性別:
public enum SexEnum {
?? male , female ;
}
顏色:
public enum Color {
?? RED , BLUE,GREEN,BLACK ;
}
枚舉對象里面的值都必須是唯一的。可以通過 Enum 類型名直接引用該常量,如 SexEnum.male,Color.RED.
復雜用法: Java 為枚舉類型提供了一些內置的方法,同時枚舉常量還可以有自己的方法。可以很方便的遍歷枚舉對象,看個下面的例子:
1. 代碼一
WeekDay.java :
WeekDayTest.java:
/*** @author yubing.linyb* 2009.7.29* 測試枚舉類型WeekDay.*/ public class WeekDayTest {public static void main(String args[]) {for (WeekDay day : WeekDay.values()) {System.out.println(day + "====>" + day.getDay());}WeekDay.printDay(5);} }輸出結果為: Mon====>Monday Tue====>Tuesday Wed====>Wednesday Thu====>Thursday Fri====>Friday Sat====>Saturday Sun====>Sunday Fri 3.Java Enum 原理 Java Enum類型的語法結構盡管和 java 類的語法不一樣,應該說差別比較大。但是經過編譯器編譯之后產生的是一個class文件。 該class文件經過反編譯可以看到實際上是生成了一個類,該類繼承了java.lang.Enum. WeekDay (javap WeekDay 命令之后得到的內容如下 ( 去掉了匯編代碼 ) : public final class WeekDay extends java.lang.Enum{public static final WeekDay Mon;public static final WeekDay Tue;public static final WeekDay Wed;public static final WeekDay Thu;public static final WeekDay Fri;public static final WeekDay Sat;public static final WeekDay Sun;static {};public static void printDay(int);public java.lang.String getDay();public static WeekDay[] values();public static WeekDay valueOf(java.lang.String); }
轉載于:https://my.oschina.net/amath321/blog/23742
總結
以上是生活随笔為你收集整理的Java Enum学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (译文)Flash,Silverligh
- 下一篇: java美元兑换,(Java实现) 美元