枚举类型主要提供一些常数java
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方法来实现定义每一个枚举类型的值ide
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; } } }