Java Enum 浅析
生活随笔
收集整理的這篇文章主要介紹了
Java Enum 浅析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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.
注:以上摘自CSDN:abing37
復雜用法:?Java?為枚舉類型提供了一些內置的方法,同事枚舉常量還可以有自己的方法。可以很方便的遍歷枚舉對象。
下面是幾個示例代碼:
Code 1 :EnumMethod.java
下面是枚舉類型的常用方法:/*** author owenyang* data 2012-11-2*/import static java.lang.System.out;public class EnumMethod {enum SexEnum{male,famle,shemale}//compareTo()public static void compare(SexEnum sexE){for(int i = 0 ; i <SexEnum.values().length; i++){out.println("The Result of "+sexE+" compareTo "+SexEnum.values()[i]+": "+sexE.compareTo(SexEnum.values()[i]));}}public static void main(String[] args) {// TODO Auto-generated method stubfor(SexEnum sex: SexEnum.values()){out.println("Enum member variable: "+sex);}//use another way to showout.println("------------use another way to show------------ ");for(int i =0;i<SexEnum.values().length;i++){out.println("Enum member variable: "+SexEnum.values()[i]);}//compareTo() and valueOf()compare(SexEnum.valueOf("shemale"));//ordinal() to get the index of member variablefor(SexEnum sex: SexEnum.values()){out.println("Index of "+sex+" "+sex.ordinal());}}}
Code 2:EnumConstructor.java
下面是枚舉類型中的構造方法使用public class EnumConstructor {//constructor usageenum SexEnum{male("I am a man"),famle("I am a woman"),shemale("I am a shemale");private String description;private SexEnum(String str){this.description=str;}public String getDescription(){return this.description;}}//we can also define the getDescription in the interfaceinterface GetDesc{public String getDescription();}enum ExtraEnum implements GetDesc{male{public String getDescription(){return "I am a super man";}}, famle{public String getDescription(){return "I am a super woman";}}}public static void main(String[] args) {// TODO Auto-generated method stubfor(SexEnum sex:SexEnum.values()){System.out.println("Info: "+sex.getDescription());}//test interfacefor(int i =0;i<ExtraEnum.values().length;i++){System.out.println(ExtraEnum.values()[i]+" invoke getDescription: "+ExtraEnum.values()[i].getDescription());}}}
Code 3:?EnumerationTest.java
下面是枚舉接口的簡單示例:
?
import java.util.Enumeration;import java.util.Vector;public class EnumerationTest {public static void main(String[] args) {// TODO Auto-generated method stubVector<Integer> vector = new Vector<Integer>();for(int i =0;i<5;i++){vector.add(i);System.out.println("add elements to vector: "+i);}//將向量轉換成枚舉接口型 Enumeration<Integer> e = vector.elements();while(e.hasMoreElements()){System.out.println("element: "+e.nextElement());}}}以上,大部分摘自牛人,代碼已測。
總結
以上是生活随笔為你收集整理的Java Enum 浅析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MAMP(win) Apache启动失败
- 下一篇: LC,SC,FC ,ST,MPO分别代表