参考文章

根底应用

public enum Color {    RED, GREEN, BLUE; //枚举常量“实例”,如果前面有内容,用分号完结    public static void main(String[] args) {        System.out.println("=========== Print all Color ===========");        for (Color c : Color.values()) {        //遍历            System.out.println(c + " ordinal: " + c.ordinal());     //默认生成申明时的秩序        }        Color green = Color.GREEN;        System.out.println("green name(): " + green.name());        System.out.println("green getDeclaringClass(): " + green.getDeclaringClass());        System.out.println("green hashCode(): " + green.hashCode());        System.out.println("green compareTo Color.GREEN: " + green.compareTo(Color.GREEN)); //比拟        System.out.println("green equals Color.GREEN: " + green.equals(Color.GREEN));        System.out.format("green == Color.GREEN: %bn", green == Color.GREEN);    }}

构造函数

public enum ErrorCodeEn {    OK(0, "胜利"), //依据构造方法创立枚举常量“实例”    ERROR_A(100, "谬误A"),    ERROR_B(200, "谬误B");    ErrorCodeEn(int number, String description) {        this.number = number;        this.description = description;    }    private int number;    private String description;    public int getNumber() {        return number;    }    public String getDescription() {        return description;    }    public static void main(String args[]) { // 静态方法        for (ErrorCodeEn s : ErrorCodeEn.values()) {            System.out.println("number: " + s.getNumber() + ", description: " + s.getDescription());        }    }}
  • 不能应用 = 为枚举常量赋值,但能够用构造方法
  • 除了不能继承,基本上能够将 enum 看做一个惯例的类