Java-为什么此枚举数组的输出为null?

时间:2018-12-18 15:28:09

标签: java enums

我创建了一个枚举数组,如下所示:

 enum MyEnums {
        FIRST, SECOND, THIRD, FOURTH;
 }
 public class MyEnumsTest {
     public static void main(String[] args) throws Exception {
            MyEnums[] myEnums = new MyEnums[4];
            for(int i = 0; i< myEnums.length; i++) {
                System.out.println(myEnums[i]);
            }
     }
 }

但是为什么输出为null,null,null和null?以及如何通过myEnums [i] .FIRST获取元素?

1 个答案:

答案 0 :(得分:7)

您在这里创建的是MyEnums数组,默认值为null(您尚未在数组中设置值)。

如果要打印出枚举值,可以使用values()方法:

for(MyEnums en : MyEnums.values()) {
    System.out.println(en);
}

或(更像您的原始代码)

for(int i = 0; i < MyEnums.values().length; i++) {
    System.out.println(MyEnums.values()[i]);
}

此打印:

FIRST
SECOND
THIRD
FOURTH