4.JAVA語言基礎部分—列舉與反射
阿新 • • 發佈:2018-11-08
列舉
//定義列舉 enum MyEnum{ ITEM_A, ITEM_B } public static void main(String[] args) { //values()獲取所列舉項的集合 MyEnum[] enums=MyEnum.values(); for (MyEnum myEnum : enums) { print(myEnum.toString());//輸出ITEM_A ITEM_B } //valueOf("字串")把字串轉為列舉 MyEnum myEnum=MyEnum.valueOf("ITEM_B"); print(myEnum.toString());//結果 ITEM_B //compareTo(b)比較兩者在定義時的順序,若b後於比較者返回-1,小於比較者時返回1,相同時為0 int i=MyEnum.ITEM_A.compareTo(MyEnum.ITEM_B); System.out.println(i);//結果 1 //ordinal()得到索引位置,從0開始 int index=MyEnum.ITEM_B.ordinal(); System.out.println(index);//結果 1 }
列舉也有構造方法,但必須使用private,常用於給列舉項加標籤說明功能
// 定義列舉 enum MyEnum { ITEM_A("我是A啊"), ITEM_B("我是B呢"), ITEM_C(23); // 最後一項要寫; private String description; private int num; // 構造方法須用private private MyEnum(String descn) { description = descn; } private MyEnum(int i) { num = i; } // 對外提供獲取描述資訊 public String getDesn() { return description; } public int getI() { return num; } } public static void main(String[] args) { // values()獲取所列舉項的集合 MyEnum[] enums = MyEnum.values(); for (MyEnum myEnum : enums) { print(myEnum.getDesn());// 我是A啊 我是B呢 null } System.out.print(MyEnum.ITEM_C.getI());// 23 }
列舉
列舉
列舉
列舉