枚举(enum)类型是 Java 5 新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。
在 JDK1.5 之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
枚举类基本使用
// 定义一个星期的枚举类
public enum WeekEnum {
// 在第一行显式地列出7个枚举实例(枚举值),系统会自动添加 public static final 修饰
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}
枚举类带构造使用
枚举类的成员变量、成员方法、构造器
package enumtest;
public enum WeekEnum {
// 因为已经定义了带参数的构造器,所以在列出枚举值时必须传入对应的参数
SUNDAY("星期日"), MONDAY("星期一"), TUESDAY("星期二"), WEDNESDAY("星期三"),
THURSDAY("星期四"), FRIDAY("星期五"), SATURDAY("星期六");
// 定义一个 private 修饰的实例变量
private String date;
// 定义一个带参数的构造器,枚举类的构造器只能使用 private 修饰
private WeekEnum(String date) {
this.date = date;
}
// 定义 get set 方法 getdate 可以用来,返回 星期日,星期一......
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
}
再比如 FidleKey.java 文件中,枚举值作为常量的使用
/**
* 描述wo来源的枚举
*/
public enum Source {
SOURCE_ROUTE("route"), SOURCE_PROJECT("project"), SOURCE_NORMAL("normal");
private String value;
Source(String value) {
this.value = value;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
使用
if (!StringUtil.isNullOrEmpty(entity.getSource()) && entity.getSource().
contains(FieldKey.Source.SOURCE_ROUTE.getValue()) && wo.getBadge() == 2) {
查看文章
Java 枚举 (enum) 详解 7 种常见的用法 - CSDN 博客
http://blog.csdn.net/qq_27093465/article/details/52180865
Java 中的枚举 (enum) - 简书
https://www.jianshu.com/p/46dbd930f6a2