枚举enum是一种特殊的类(还是类),使用枚举可以很方便的定义常量
一个常用的场合就是switch语句中,使用枚举来进行判断
在使用switch的时候,不是使用枚举,而是使用int,而int的取值范围有可能取一个超出范围之间的值,这样判断结果就是是而非了。
但是使用枚举,就能把范围死死的限定在其中
英雄联盟中有这么一些分类
TANK (坦克)
WIZARD (法师 )
ASSASSIN (刺客)
ASSIST (辅助)
WARRIOR (近战)
RANGED (远程 )
PUSH (推进)
FARMING (打野)
设计一个枚举类型HeroType,使用上述分类作为常量
再编写一段switch语句,把每种枚举常量输出为中文字符串
public enum HeroType {
TANK,WIZARD,ASSASSIN,ASSIST,WARRIOR,RANGED,PUSH,FARMING
}
public static void main(String[] args) {
HeroType herotype = HeroType.PUSH;
switch (season) {
case TANK:
System.out.println("坦克");
break;
case WIZARD:
System.out.println("法师");
break;
case ASSASSIN:
System.out.println("刺客");
break;
case ASSIST:
System.out.println("辅助");
break;
case WARRIOR:
System.out.println("近战");
break;
case RANGED:
System.out.println("远程");
break;
case PUSH:
System.out.println("推进");
break;
case FARMING:
System.out.println("打野");
break;
}
}
枚举遍历
public static void main(String[] args) {
for (HeroType h : HeroType.values()) {
System.out.println(h);
}
}