资料来源:http://blog.jobbole.com/31597/
JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。
用法一:常量
在JDK1.5 之前,我们定义常量都是: public static fianl…. 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
- public enum Color {
- RED, GREEN, BLACK, YELLOW
- }
public enum Color {
RED, GREEN, BLACK, YELLOW
}
用法二:switch
JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。
- enum Light {
- GREEN, YELLOW, RED
- }
- class TrafficLight {
- public void change(Light color) {
- switch (color) {
- case RED :
- color = Light.GREEN ;
- System.out.println(color) ;
- break ;
- case YELLOW :
- color = Light.RED ;
- System.out.println(color) ;
- break ;
- case GREEN :
- color = Light.YELLOW ;
- System.out.println(color) ;
- break ;
- }
- }
- }
- public class TrafficLightTest {
- public static void main(String[] args) {
- new TrafficLight().change(Light.RED) ;
- }
- }
enum Light {
GREEN, YELLOW, RED
}
class TrafficLight {
public void change(Light color) {
switch (color) {
case RED :
color = Light.GREEN ;
System.out.println(color) ;
break ;
case YELLOW :
color = Light.RED ;
System.out.println(color) ;
break ;
case GREEN :
color = Light.YELLOW ;
System.out.println(color) ;
break ;
}
}
}
public class TrafficLightTest {
public static void main(String[] args) {
new TrafficLight().change(Light.RED) ;
}
}
用法三:向枚举中添加新方法
如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum实例。