Java - 为什么输出为空?

0 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]);
            }
     }
 }
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*ark 7

你在这里做的是创建一个数组MyEnums,默认值是null(你没有在数组中设置值).

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

for(MyEnums en : MyEnums.values()) {
    System.out.println(en);
}
Run Code Online (Sandbox Code Playgroud)

或者(更像你的原始代码)

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

这打印:

FIRST
SECOND
THIRD
FOURTH
Run Code Online (Sandbox Code Playgroud)