Java中的枚举就像任何其他类一样,具有一组预定义的实例。 这里有几个例子来强调如何使用Java Enum。
1.简单例子
public enum Color {
RED, YELLOW, BLUE; //each is an instance of Color
}
public class Test {
public static void main(String[] args) {
for(Color color: Color.values()){
System.out.println(color);
}
}
}
输出:
RED
YELLOW
BLUE
2. 有构造函数
public enum Color {
RED(1), YELLOW(2), BLUE(3); //each is an instance of Color
private int value;
private Color(){}
private Color(int i){
this.value = i;
}
//define instance method
public void printValue(){
System.out.println(this.value);
}
}
public class Test {
public static void main(String[] args) {
for(Color color: Color.values()){
color.printValue();
}
}
}
输出:
1
2
3
3. 什么时候使用枚举?
枚举类型是一种特殊的数据类型,它使变量成为一组预定义的常量。 该变量必须等于为其预定义的值之一。
一个好的用法可以防止出现无效参数。 例如,想象下面的方法:
public void doSomethingWithColor(int color);
该方法不明确,其他开发人员不知道要使用什么值。 如果你有一个枚举颜色与黑色,红色等签名变成:
public void doSomethingWithColor(Color color);
调用此方法的代码将更具可读性。