枚举类型主要提供一些常数
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; } }}