package datastructureAPI; // enum 是一个很类似于 class的概念 public enum CoinEnum { // 这里的枚举实例 可以理解为 枚举类的 4个对象(预定生成好,不能变) ONE(2, "a"), FIVE(5, "b"), TEN(10, "c"), TWOFIVE(25, "d"); // 枚举对象可以具有的 成员变量。 和class里的概念一样 private int value; private String str; // 注意这里的构造函数的用法。 这里构造函数需要多少参数,上面定义枚举实例的时候,就要给出相应的初始值 private CoinEnum(int v, String s){ this.value = v; this.str = s; } public int getValue() { return value; } public String getString() { return str; } public static void main(String[] args){ // 定义一个枚举实例 的方法 CoinEnum ce = CoinEnum.ONE; // 访问枚举实例里的 成员变量的值 System.out.println(ce.getValue()); System.out.println(ce.getString()); // 。values() 方法返回枚举类型的数组。 for (CoinEnum c: CoinEnum.values()){ // 按照离当前枚举对象的距离计算返回值。返回 0 表示相同。 -1 表示 c在ce后面一个。 -2 表示c在ce后面2个 System.out.println(ce.compareTo(c)); } } }
enum Signal { GREEN, YELLOW, RED } public class EnumTest { public static void main(String[] args) { Signal color = Signal.RED; switch (color) { case RED: color = Signal.GREEN; System.out.println(color); break; case YELLOW: color = Signal.RED; break; case GREEN: color = Signal.YELLOW; break; } } }
enum Signal { GREEN, YELLOW, RED } public class EnumTest { public static void main(String[] args) { Signal color = Signal.RED; switch (color) { case RED: color = Signal.GREEN; System.out.println(color); break; case YELLOW: color = Signal.RED; break; case GREEN: color = Signal.YELLOW; break; } } }