定义:
在定义变量的过程中往往涉及取值范围,当一个变量的取值范围为一组常量时,那么就把这个变量的类型设置为枚举类型。枚举类型是类的一种特殊形式。创建enum时编译器会生成一个相关的继承自java.lang.Enum的类。
[puiblic] enum EnumName{ NAME1 , NAME2 , NAME3 }
枚举的用法:
1、枚举类型可以用在Switch语句中,Switch使用枚举类型,增强代码可读性。
enum Color{RED,BLUE,YELLOW,WHITE,BLACK}
public class EnumTestDemo {
public static void main(String[] args){
Color c=Color.RED;
switch(c){
case RED:
System.out.println("RED");
break;
case YELLOW:
System.out.println("YELLOW");
break;
}
}
2、作为常量使用。
在JDK1.5之前,定义常量的方式为 public static final来修饰常量。之后有了枚举类型,可以将相关常量定义放在枚举类型里,枚举类型提供了更多的操作常量的方法。
int compareTo(E o):比较此枚举和指定枚举对象的顺序
Ordinal():返回枚举常量的序数(表示他在枚举声明中的位置,其中初始常量顺序序数为 0)
Values();方法以数组形式返回枚举列表值。
3、可以向枚举中添加新方法
enum Color{
RED("红色",1),
BLUE("蓝色",2);
//成员变量
private String name;
private int num;
private Color(String name,int num){
this.name = name;
this.num = num;
}
//普通方法
public String getName(int num){
for(Color c:Color.values()){
if (c.num == num)
return c.name;
}
return null;
}
}