北京

点击搜索

发布

拉勾教育Java 枚举 enum 详解

区域:
北京 > 海淀 > 中关村
类别:
软件工程师培训
地址:
创业大街
枚举类型
Java5 中添加了一个 enum 关键字,通过 enum 关键字,我们可以将一组拥有具名的值的有限集合创建为一种新的类型,这些具名的值可以作为常规的程序组件使用,例如:拉勾IT课小编为大家分解
public enum Spiciness {
  NOT, MILD, MEDIUM, HOT, FLAMING
}

这里创建了一个名为 Spiciness 的枚举类型,它有 5 个值。由于枚举类型的实例是常量,因此按照命名惯例,它们都用大写字母表示(如果名称中含有多个单词,使用下划线分隔)
要使用 enum,需要创建一个该类型的引用,然后将其赋值给某个实例:
public class SimpleEnumUse {
  public static void main(String[] args) {
    Spiciness howHot = Spic***DIUM;
    System.out.println(howHot);
  }
}
// 输出:MEDIUM
在 switch 中使用 enum,是 enum 提供的一项非常便利的功能。一般来说,在 switch 中只能使用整数值,而枚举实例天生就具备整数值的次序,并且可以通过 ordinal() 方法取得其次序,因此我们可以在 switch 语句中使用 enum
一般情况下我们必须使用 enum 类型来修饰一个 enum 实例,但是在 case 语句中却不必如此。下面的例子使用 enum 构造了一个模拟红绿灯状态变化:
enum Signal { GREEN, YELLOW, RED, }

public class TrafficLight {
 
  Signal color = Signal.RED;
 
  public void change() {
    switch(color) {
        case RED: color = Signal.GREEN;
          break;
        case GREEN: color = Signal.YELLOW;
          break;
        case YELLOW: color = Signal.RED;
          break;
    }
  }
 
  @Override
  public String toString() {
    return "The traffic light is " + color;
  }
 
  public static void main(String[] args) {
    TrafficLight t = new TrafficLight();
    for(int i = 0; i < 7; i++) {
        System.out.println(t);
        t.change();
    }
  }
}

查看更多北京电脑/网络信息

免责声明:此信息系发布者(UID:706396)自行发布,本站是服务平台,仅提供信息存储空间服务,该信息内容的真实性及合法性由该发布者完全负责。

© lieju.com 联系我们