枚舉類是在java 5后新增的,可以用於封裝常量,並且還可以為常量的使用提供一些方法。
定義枚舉類的語法:
public enum EnumName{ //必須放在第一行 成員1(A,B...),成員2(A,B...),成員3(A,B....)........;//A,B可以沒有 private Type A; private Type B; ...... private EnumName(Type a,Type b.......) { A=a; B=b; ..... } 關於A,B.....的get和set方法 }
獲得枚舉類中某個枚舉成員:
枚舉類名.枚舉成員;
通過: 枚舉類名.values() 可以獲得該枚舉類中的所有枚舉成員;如
enum AA{ A,B,C; }
若要遍歷輸出所有的元素,則:
for( AA s : AA.values() ) System.out.println(s);
結果為:
A
B
C
編寫一個Wheher.java類,完整代碼如下:
enum AA { YES(2),NO(4); private int value; private AA(int i) //也可以省略private { value=i; } public int getValue() { return value; } public void setValue(int value) { this.value = value; } } public class Wheher{ public static void main(String args[]) { System.out.println("輸出枚舉類中的成員NO的值----"+AA.NO); System.out.println("\n---調用函數isYes()--"); System.out.println(isYes(AA.YES)); System.out.println(isYes(AA.NO)+"\n"); System.out.println("查看枚舉常量所代替的值---"+AA.YES.getValue()); //設置枚舉常量的值 AA.YES.setValue(25); System.out.println("\n改變后Yes的值為----"+AA.YES.getValue()); } public static boolean isYes(AA a) { if(AA.YES.equals(a)) return true; else return false; } }
運行結果為:
枚舉類的基本原理請參考:http://www.cnblogs.com/sister/p/4700702.html