java枚举类型

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);

调用此方法的代码将更具可读性。

你可能感兴趣的:(java枚举类型)