java中枚举类的作用

  1. 当作常量来使用
public enum Constant {
    RED, GREEN, BLANK, YELLOW;

    public static void main(String[] args) {
        System.out.println(Constant .BLANK);
        System.out.println(BLANK.ordinal());
        System.out.println(Constant .RED);
        System.out.println(RED.ordinal());
    }
}

执行结果;
BLANK
2
RED
0
  1. 将枚举数据与它的常量关联起来
public enum Season {
    SPRING(20.1),SUMMER(36.5),AUTUMN(12.5),WINTER(0.3);
    /**每个季节的平均气温*/
    private double averageTem;
    /**
     * 构造方法
     * @param averageTem
     */
    private Season(double averageTem) {
        this.averageTem = averageTem;
    }
    /**
     * 提供一个get方法返回数据
     * @return
     */
    public double getAverageTem() {
        return averageTem;
    }
    public static void main(String[] args) {
        System.out.println(Season.valueOf("AUTUMN").getAverageTem());//20.1
        System.out.println(Season.valueOf("WINTER").getAverageTem());//20.1
    }

}

执行结果:
12.5
0.3
  1. 将枚举数据和它的行为关联起来(特定于常量的方法实现)
public enum Operation {
    ADD {
        @Override
        double apply(double x, double y) {
            return x + y;
        }
    },
    MINUS {
        @Override
        double apply(double x, double y) {
            return x - y;
        }
    },
    TIMES {
        @Override
        double apply(double x, double y) {
            return x * y;
        }
    },
    DEVIDE {
        @Override
        double apply(double x, double y) {
            return x / y;
        }
    };
    /**
     * 提供一个抽象的方法,强制每个枚举数据都要实现,这样做拓展不易出错
     * @param x
     * @param y
     * @return
     */
    abstract double apply(double x, double y);
    public static void main(String[] args) {
        System.out.println(Operation.ADD.apply(5, 10));
    }
}

执行结果:
15.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值