枚舉類型主要提供一些常數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; } } }