enum枚举类型

枚举类型的实例是常量,且它们都用大写字母表示。

简单枚举例子:

public enum Spiciness {
    NOT, MILD, MEDIUM, HOT, FLAMING
}
public class Main {
    public static void main(String[] args) {
        Spiciness howHot = Spiciness.MEDIUM;
        print(howHot);
    }
}
//结果:MEDIUM

在创建enum时,编译器会自动田间一些有用的特性,比如,会创建toString()方法,这样可以方便显示某个enum实例的名字,如上例子所示。还会创建ordinal()方法,用来表示某个特定enum常量的声明顺序,以及static values()方法,用来按照enum常量的声明顺序,产生由这些常量值构成的数组,如下例子所示:

public class EnumOrder {
    public static void main(String[] args) {
        for(Spiciness s : Spiciness.values()) {
            print(s.ordinal());
        }
    }
}
//结果:0 1 2 3 4

enum这个关键字只是为enum生成对应的类时,产生了某些编译器行为,而enum其实是个类,并且具有自己的方法。可以用于switch-case语句。

posted on 2018-01-31 17:17  二十年后20  阅读(135)  评论(0编辑  收藏  举报

导航