枚举
JDK1.5引入了枚举类型。枚举类型的定义包括枚举声明和枚举体。格式如下:
1
2
3
|
enum 枚举名 { 枚举体(常量列表) } |
枚举体就是放置一些常量。我们可以写出我们的第一个枚举类型,如示例所示:
【示例】创建枚举类型
1
2
3
|
enum Season { SPRING, SUMMER, AUTUMN, WINDER } |
所有的枚举类型隐性地继承自 java.lang.Enum。枚举实质上还是类!而每个被枚举的成员实质就是一个枚举类型的实例,他们默认都是public static final修饰的。可以直接通过枚举类型名使用它们。
老鸟建议
1. 当你需要定义一组常量时,可以使用枚举类型。
2. 尽量不要使用枚举的高级特性,事实上高级特性都可以使用普通类来实现,没有必要引入枚举,增加程序的复杂性!
【示例】枚举的使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import java.util.Random; public class TestEnum { public static void main(String[] args) { // 枚举遍历 for (Week k : Week.values()) { System.out.println(k); } // switch语句中使用枚举 int a = new Random().nextInt( 4 ); // 生成0,1,2,3的随机数 switch (Season.values()[a]) { case SPRING: System.out.println( "春天" ); break ; case SUMMER: System.out.println( "夏天" ); break ; case AUTUMN: System.out.println( "秋天" ); break ; case WINDTER: System.out.println( "冬天" ); break ; } } } /**季节*/ enum Season { SPRING, SUMMER, AUTUMN, WINDTER } /**星期*/ enum Week { 星期一, 星期二, 星期三, 星期四, 星期五, 星期六, 星期日 } |