有些时候,变量的取值仅在一个有限的集合内。例如:销售的服装只有小中大和超大这四种尺寸。当然,可以将这些尺码编码为1、2、3、4或S、M、L、X。但是这样做存在着一定的隐患。在变量中可能保存的是一个错误的值(如0或m)。
从JDK 5.0开始,针对这种情况,可以自定义枚举类型。枚举类型包括有限个命令的值。
例如:enum Size {SMALL, MEDIUM, LARGE, EXTRA_LARGE};
现在,可以声明这样一种类型的变量:
Size s = Size.MEDIUM;
Size类型的变量只能存储该类型声明中给定的某个枚举值,或者null值。