枚举的简单使用

本文只是对Java中的枚举的简单使用

public class EnumModel {

    public enum Color {
        RED, GREEN, BLANK, YELLOW;
    }

    public enum Week{
        MONDAY("星期一",1),TUESDAY("星期二",2),WDENESDAY("星期三",3),THURSDAY("星期四",4),
        FRIDAY("星期五",5),SATURDAY("星期六",6),SUNDAY("星期日",7);

        private String name;
        private int index;

        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getIndex() {
            return index;
        }
        public void setIndex(int index) {
            this.index = index;
        }

        private Week(String name, int index) {
            this.name = name;
            this.index = index;
        }
        public static String getName(int index) {
            for (Week c : Week.values()) {
                if (index == c.getIndex()) {
                    return c.name;
                }
            }
            return null;
        }
    }

    public static void main(String[] args) {
        System.out.println(EnumModel.Color.RED);
        System.out.println(EnumModel.Week.getName(1));
    }
}

枚举型可以直接与数据库打交道,我通常使用varchar类型存储,对应的是枚举的常量名。

常量类编译时,是直接把常量的值编译到类的二进制代码里,常量的值在升级中变化后,需要重新编译引用常量的类,因为里面存的是旧值。枚举类编译时,没有把常量值编译到代码里,即使常量的值发生变化,也不会影响引用常量的类。

枚举类编译后默认为final class,不允许继承可防止被子类修改。常量类可被继承修改、增加字段等,容易导致父类的不兼容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值