【问题标题】:Can somebody explain how does this program regarding enum works in java?有人能解释一下这个关于枚举的程序在java中是如何工作的吗?
【发布时间】:2013-10-07 06:09:16
【问题描述】:

代码如下:

enum Status {

    STATUS_OPEN(10),
    STATUS_STARTED(11),
    STATUS_INPROGRESS(12);

    private final int status;

    Status(int aStatus) {
        this.status = aStatus;
    }

    public int getStatus() {
        return this.status;
    }

}

class StatusTest3 {

    public static void main(String[] args) {

        for (Status stat : Status.values()) {
            System.out.println(stat + " value is " + stat.getStatus());
        }
    }
}

Status.values() 返回什么?

输出是:

STATUS_OPEN value is 10
STATUS_STARTED value is 11
STATUS_INPROGRESS value is 12

【问题讨论】:

  • 而你为什么它不应该起作用的原因是?!
  • 你需要更多地学习和使用枚举

标签: java function enums scjp ocpjp


【解决方案1】:

http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html

枚举类型的所有常量都可以通过调用该类型的隐式 public static T[] values() 方法获得。

【讨论】:

【解决方案2】:

Status.values() :将返回一个包含此枚举类型常量的数组,在 声明它们的顺序

阅读 JLS 了解更多信息:http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.9.2

【讨论】:

    猜你喜欢
    • 2023-01-18
    • 1970-01-01
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-13
    相关资源
    最近更新 更多