java 枚举 里面是整数

 public enum MODE {
        HIGH(1),
        FAST(2);

这里 FAST(2); 的FAST 是啥意思

阅读 2k
2 个回答

没明白你想问啥?这不就是自己起的枚举名么?

括号是赋值。不赋值的话默认第一项枚举值是 0,后面依次 +1;如果想指定第一个的起始值、或者是每项枚举值并不是依次 +1 的关系,就可以自己单独赋值。

机器人就机器人吧,有初学者确实有问题的,可以给个参考。

看官方教程:

The Java Tutorials > Trial: Learning the Java Language > Classses and Objects > Enum Types


其实在 Java 5 以前是没有枚举类型的,那时候的枚举有两种实现方式,一种是常量,另一种是单例。。

常量的实现方式,比如 java.util.Calendar 中存在大量这样的东西

public class Calendar {
    public static final int JANUARY = 0;
    public static final int FEBRUARY = 1;
    public static final int MARCH = 2;
    // ...
}

单例模式实现,比如 java.awt.Color 中的预定义颜色

public class Color {
    public static final Color black = new Color(0, 0, 0);
    public static final Color BLACK = black;
    public static final Color red = new Color(255, 0, 0);
    public static final Color RED = red;
    public static final Color pink = new Color(255, 175, 175);
    public static final Color PINK = pink;
    // ...
}

但这两种方式实现的枚举都会存在一些问题,再加上枚举类型的使用需求确实比较大,所以 Java 5 添加了 enum 枚举语法。然而实际上可以看作是单例模式实现枚举的语法糖。所以 Java 的枚举和其他语言的枚举还是有一些区别。

好了,缘由就讲到这里,关于枚举怎么用 —— 看教程去。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题