为什么使用枚举 枚举的作用是什么

package com.javaWeb03;

public class EnumTest2 {

    /**
     *
     * 现在这样写虽然没问题,1代表向前走,2代表向后退,3代表向左走,4代表向右走
     * 但是别人需要观察代码才能看懂,有时候不好维护,这属于硬编码,可读性差
     * 可以使用常量来优化一下 例如1-2
     *
     */
    /*public static void main(String[] args) {
        Operation(1);
    }
    public static void Operation(int operation) {
        switch (operation) {
            case 1:
                System.out.println("go ahead");
                break;
            case 2:
                System.out.println("step back");
                break;
            case 3:
                System.out.println("turn left");
                break;
            case 4:
                System.out.println("turn right");
                break;
        }
    }*/

    /**
     * 1-2 符合软编码,富有文化底蕴和色彩
     * 使用常量来做信息标志和信息分类
     * 但是还是有缺陷,因为没有约束好,不够规范,别人可以继续用数字代替
     * 为了解决严谨性和规范性可以采用枚举,例如1-3
     */
   /* public static final int up=1;
    public static final int down=2;
    public static final int left=3;
    public static final int right=4;
    public static void main(String[] args) {
        Operation(right);
        Operation(2);//不够规范,入参不够严谨
    }

    public static void Operation(int operation){
            switch (operation) {
                case up:
                    System.out.println("go ahead");
                    break;
                case down:
                    System.out.println("step back");
                    break;
                case left:
                    System.out.println("turn left");
                    break;
                case right:
                    System.out.println("turn right");
                    break;
            }
        }*/

    /**
     * 1-3枚举类用作信息标志和信息分类,非常严谨,优雅
     */
    enum Operation{
        up,down,left,right
    }

    public static void main(String[] args) {
        OperationTest(Operation.left);
    }
    public static void OperationTest(Operation operation){//参数为枚举类型
        switch (operation) {//不需要带前缀已自动识别为枚举类型
            case up:
                System.out.println("go ahead");
                break;
            case down:
                System.out.println("step back");
                break;
            case left:
                System.out.println("turn left");
                break;
            case right:
                System.out.println("turn right");
                break;
        }
    }

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值