经过枚举定义每一个枚举类型的值

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

}
相关文章
相关标签/搜索