JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。
用法一:常量.
在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
public enum Color { RED, GREEN, BLANK, YELLOW } 简单使用public
class
B {
public
static
void
main(String[] args) {
System.
out
.println( isRed( Color.BLANK ) ) ;
//结果: false
System.
out
.println( isRed( Color.RED ) ) ;
//结果: true
}
static
boolean isRed( Color color ){
if
( Color.RED.
equals
( color )) {
return
true
;
}
return
false
;
}
}
或者 switch 的使用
Signal color = Signal.RED;
public void change() {
switch (color) {
case RED:
color = Signal.GREEN;
break;
case YELLOW:
color = Signal.RED;
break;
case GREEN:
color = Signal.YELLOW;
break;
}
}
用法二:覆盖枚举的方法
下面给出一个toString()方法覆盖的例子。
enum Color{ RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String name; private int index; // 构造方法 private Color(String name, int index) { this.name = name; this.index = index; } //覆盖方法 @Override public String toString() { return this.index+"_"+this.name; } }用法Color.RED.toString(); //打印1_红色 同样的,也可以是一个参数 enum ExecStatus {
WAIT(‘0‘), PROGRESS(‘1‘), SUCCESS(‘2‘), ERROR(‘3‘);
private char state;
private ExecStatus(char state) {
this.state = state;
}
public char getValue() {
return state;
}
@Override
public String toString() {
return String.valueOf(state);
}
}
用法ExecStatus.WAIT.getValue() //打印0
原文地址:https://www.cnblogs.com/gaomanito/p/8472356.html