全国咨询/投诉热线:400-618-4000

Java培训之枚举

更新时间:2016年06月28日14时44分 来源:传智播客Java培训学院 浏览次数:

枚举类型概述

 
1 什么是枚举类型
word文档的对齐方式有几种:左对齐、居中对齐、右对齐;
开车的方向有几种:前、后、左、右;
枚举就是有限实现个数的类型,你可能会说,byte类型也只有256个,没错,但我们真实定义为枚举的类型,一般最多也就十多个实例,再多就不会定义为枚举了。
 

2 JDK1.4之前的枚举类型
在JDK1.4之前没有枚举类型,都是使用int或字符串类型来表示枚举,如果枚举只有两个选项,那么连int都用不上,只需要使用boolean类型即可。
例如:BorderLayout类的方位给出五个:CENTER、EAST、SOUTH、WEST、NORTH。当使用容器类的方法添加组件时:add(new Button(), “CENTER”),这是合法的,但因为String类型太过宽泛,所以可能会出现add(new Button(), “哈哈”)的调用可能,这会导致运行时出现异常。所以,JDK1.5又新增了枚举类型。
 

3 定义枚举类型
定义枚举类型需要使用enum关键字,例如:
 注意,每个枚举选项之间是用逗号隔开的。如果枚举类没有构造器、方法等,在最后一个枚举选择后面可以不打分号。但是如果枚举类还有其他成员,那么就要在最后一个枚举项后面添加分号了。
Direction类型只有四个选项,你可以理解为这个枚举类只有四个实例对象一样。外界无法去创建新的枚举对象,只能从这四个中去选择。
其实大多数时候,我们使用枚举类型还是与以及使用int或String表示的枚举一样,基本上都是很简单的。

 
4 枚举与switch
1.5开始枚举类型可以在switch中使用!在1.7之后,String类型也可以放到switch中使用了。
 注意,在switch中,不能使用枚举类名称,例如:“case Direction.FRONT:”这是错误的,因为编译器会根据switch中d的类型来判定每个枚举类型,在case中必须直接给出与d相同类型的枚举选项,而不能再有类型。


本文版权归传智播客Java培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客Java培训学院
首发:http://www.itcast.cn/javaee