枚举是JDK1.5中新增加的一种数据类型,它最大的特点就是枚举数据类型的取值范围由程序员自己规定,本小节将会讲解枚举的用法以及实现枚举的原理。
如果希望在程序中表示三种颜色的交通信号灯,可以使用一个整型变量的三个值来表示。例如用1表示红灯、2表示黄灯、3表示绿灯。但可能有人会使用1-3之外的其他数字对整型变量赋值,这就会导致程序在得到变量的值之后出无法解释它到底是什么颜色的灯。如何保证每个人都使用规定好的3个值来表示信号灯呢?通过使用枚举类型就可以轻松的解决这个问题。枚举是JDK1.5中新增加的一种数据类型,枚举数据类型的取值范围由程序员自己规定。当规定好了枚举的取值范围后,任何人都不能用这个范围以外的值来给枚举变量赋值。
枚举用关键字enum来表示,它本质上也是一种类,但这种类的对象不是通过new关键字创建出来的,而是从程序员规定的众多枚举值中选择的。因此,每一个枚举值本质上都是一个枚举对象。程序员只需要从File菜单或右键菜单中选择“New”子菜单,然后在菜单项中选择“Enum”菜单项即可弹出创建接口的对话框,在对话框中填写枚举的名称并设置其访问度即可创建出一个枚举。当创建出枚举之后,程序员就可以根据需要为它定义枚举值。下面的【例08_19】展示了如何定义枚举值来表示交通灯的三种颜色,并且如何在switch结构中以枚举作为参数。
【例08_19 以枚举表示交通灯颜色】
<