枚举介绍
百度百科对枚举的解释如下:
在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。 [1] 是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一个枚举。
枚举常用方法
方法 | 描述 |
---|---|
values() | 以数组形式返回枚举类型的所有成员 |
valueOf() | 将普通字符串转换为枚举实例 |
compareTo() | 比较两个枚举成员在定义时的顺序 |
ordinal() | 获取枚举成员的索引位置 |
使用
新建一个枚举
/**
* Enum枚举 对象事先已经指定了枚举类型
*
*/
public enum Season {
SPRING,SUMMER,AUTUMN,WINTER
}
对枚举进行测试使用
public class EnumTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Season season = Season.SPRING;
switch (season) {
case SPRING:
System.out.println("春困");
break;
case SUMMER:
System.out.println("夏热");
break;
case AUTUMN:
System.out.println("秋乏");
break;
case WINTER:
System.out.println("冬冷");
break;
default:
System.out.println("不存在的季节");
break;
}
}
}
打印结果
新建一个带参数的枚举
public enum Week {
MONDAY("周一"),TUESDAY("周二"),WEDNESDAY("周三"),THURSDAY("周四"),FRIDAY("周五"),SATURDAY("周六"),SUNDAY("周日");
String name;
Week(String _name){
name = _name;
}
public String getName() {
return name;
}
}
使用测试
public class EnumTestWeek {
public static void main(String[] args) {
Week w = Week.FRIDAY;
//获取单个枚举对象
System.out.println(w.getName());
//获取该成员在枚举中的索引位置,下标
System.out.println(w.ordinal());
//以数组形式返回枚举类型的所有成员
for (int i = 0; i < Week.values().length; i++) {
System.out.println("枚举成员"+i+":"+Week.values()[i]);
}
}
}
运行结果