java 枚举

作用是代替静态常量类/接口

使用逗号隔开,如果有方法使用分号结束

使用枚举

/**
 * @desc: 反馈字典 FEEDBACK_STATUS
 *    
 * @author: Guangyue Huang
 * @date: 2019/3/20 10:29
 **/
public enum  FeedbackStatusEnum {

    /**
     * 已处理
     */
    HANDLED,
    /**
     * 未处理
     */
    UNHANDLED;

    /**
     * @desc: 验证反馈状态是否合法
     *
     * @param code 状态字典 code
     * @author: Guangyue Huang
     */
    public static boolean auth(String code){
        if (!StringUtils.isEmpty(code)){
            for (FeedbackStatusEnum value : FeedbackStatusEnum.values()) {
                if (value.toString().equalsIgnoreCase(code)){
                    return true;
                }
            }
        }
        return false;
    }
}

 

常用方法

序号 方法描述
1
public static Enum<T> valueOf(String name)
把字符串转成枚举对象
2
public final String name()
public String toString()
两个方法效果相同, 返回当前枚举对象的名称
3

 public static String[] values()

 返回枚举类的所有常量的字符串

 

 

 

 

 

 

 

 

 

带描述

如果是这种形式的,一般接受的是描述,然后进行比对

enum ColorEnum {
    RED("红色"),
    GREEN("绿色"),
    BLUE("蓝色");

    private String desc;

    ColorEnum(String desc){
        this.desc = desc;
    }

    public String getDesc() {
        return desc;
    }

}

public class Test{
    public static void main(String[] args) {
        for (ColorEnum value : ColorEnum.values()) {
            System.out.println(value.getDesc());
        }
    }
}

 

posted @ 2018-10-21 12:03  huanggy  阅读(111)  评论(0编辑  收藏  举报