枚举类型主要提供一些常数
public enum Action
{
TURN_LEFT,
TURN_RIGHT,
SHOOT
}
public class EnumDemo
{
public static void main(String[] args)
{
doAction(Action.TURN_RIGHT);
}
public static void doAction(Action action)
{
switch(action)
{
case TURN_LEFT:
System.out.println("向左转");
break;
case TURN_RIGHT:
System.out.println("向右转");
break;
case SHOOT:
System.out.println("射击");
break;
}
}
}
通过枚举构造函数和覆盖toString方法来实现定义每个枚举类型的值
package com.enumDemo;
/**
* 通过枚举构造函数和覆盖toString方法来实现定义每个枚举类型的值
*
* @author Leizhi 2016/5/21
* @see
* @since 1.0
*/
public enum Light
{
// 利用构造函数传参
RED(1), GREEN(3), YELLOW(2);
private int code;
// 构造函数,枚举类型只能为私有
Light(int code)
{
this.code = code;
}
@Override
public String toString()
{
return String.valueOf(this.code);
}
public static void main(String[] args)
{
/**
* 通过枚举静态方法values遍历枚举
*/
System.out.println("---------遍历操作-------------");
for (Light light : Light.values())
{
System.out.println("当前灯:" + light);
System.out.println("当前灯name:" + light.name());
}
/**
* switch操作
* JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。
*/
System.out.println("---------switch操作-------------");
Light color = Light.RED;
switch (color)
{
case RED:
System.out.println("红灯停");
break;
case YELLOW:
System.out.println("黄灯警惕");
break;
case GREEN:
System.out.println("路灯行");
break;
}
}
}