生活随笔
收集整理的這篇文章主要介紹了
Java枚举的定义,使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一,枚舉是什么?
在數學和計算機科學理論中,一個集的枚舉是列出某些有窮序列集的所有成員的程序,或者是一種特定類型對象的計數。這兩種類型經常(但不總是)重疊。 [1] 是一個被命名的整型常數的集合,枚舉在日常生活中很常見,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一個枚舉。
----------參考 baidu.com
講人話,在Java里面就是個繼承Object實現Comparable, Serializable接口的類。
二,使用的地方
- 1, 常量的定義
- 2, 可以switch
- 3, 類似類 有set, get 構造(private EnumName(){…}), 有普通方法, 有靜態
- 4, 可以實現接口
- 5, 接口組織枚舉
- 6, 枚舉集合
三,代碼實現
public interface MyEnumInterface {void print();
}
定義常量并實現接口
public enum MyEnum
implements MyEnumInterface {SUN
, MON
, TUE
, WED
, THT
, FRI
, SAT
;@Overridepublic void print() {System
.out
.println(SUN
+ "...");}static void constant() {MyEnum sun
= MyEnum
.SUN
;System
.out
.println(sun
+ "==>" + MyEnum
.valueOf("SUN"));}static void swithEnum(MyEnum me
) { switch(me
) {case SUN
:System
.out
.println("sunday!");break;case MON
:break;case TUE
:break;case WED
:break;case THT
:break;case FRI
:break;case SAT
:break;default:break;}}}
enum Color
{BLUE("藍色", 0), ORANGE("橙色", 1), YELLOW("黃色", 2);private String name
;private int index
;private Color(String name
, int index
) {this.name
= name
;this.index
= index
;}public static String
getName(int index
) {for(Color color
: Color
.values()) {if (index
== color
.getIndex()) {return color
.getName();}}return null
;}public String
getName() {return name
;}public void setName(String name
) {this.name
= name
;}public int getIndex() {return index
;}public void setIndex(int index
) {this.index
= index
;}public String
toString() {return getName() + ":" + getIndex();}}
static void testColor() {String name
= Color
.getName(0);System
.out
.println(name
);Color blue
= Color
.BLUE
;System
.out
.println(blue
);System
.out
.println(blue
.name());System
.out
.println("重寫了toString后, 返回下標枚舉值 " + blue
.toString());}
public interface MyEnumInterface {void print();
}
interface Food {enum Meat
implements Food {SHEEP_MEAT
, FISH_MEAT
, BACON_MEAT
;void eat(Meat me
) {if (me
.equals(SHEEP_MEAT
)) {System
.out
.println("SHEEP_MEAT!");}}}}
static void testEnumList() {EnumSet
<MyEnum> set
= EnumSet
.noneOf(MyEnum
.class);set
.add(MyEnum
.MON
);set
.add(MyEnum
.FRI
);System
.out
.println(set
);}
總結
以上是生活随笔為你收集整理的Java枚举的定义,使用的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。