Java枚举类型

 

public class DayOfWeek {

    public static final int MONDAY =1;

    public static final int TUESDAY=2;

    public static final int WEDNESDAY=3;

    public static final int THURSDAY=4;

    public static final int FRIDAY=5;

    public static final int SATURDAY=6;

    public static final int SUNDAY=7;

}

上面是我们在一个类中定义常量的一般方式,虽然也不是不能用,但是存在很多不足,比如说在我们上面例子里新增一个常量,int值也是1的话九个第一个重了,容易出错,而且编译并不能让你发现这个错误,所有才有了枚举类enum,

public enum DayOfWeek {
    MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

相比较第一个静态常量类,第二个简洁了许多,不过,enum的功能还不仅仅于此,在我们日常开发中用的比较多的是:

public enum YesNoEnum {

    YES("是","Y"),NO("否","N");

    private String name;
    private String code;

    private YesNoEnum(String name, String code) {
        this.name = name;
        this.code = code;
    }
    // 省略get方法
}

一般多用数据库,将数据库字段以char(1)存储代表有意义的字段将其转义,比如上面的枚举类可以取用到‘Y’也可以取用到‘是’,从而避免了魔法值的诞生,统一数据格式起了重大作用,众所周知,有些数据库不区分大小写,此时,我们在全局静态变量定义yes就是Y,no就是N

posted @ 2021-03-31 17:54  RWKK  阅读(78)  评论(0编辑  收藏  举报