这是我的示例代码:

enum A {
    A,
}

class TestA {
    A a;
    public static void main(String[] args) {
        final TestA testA = new TestA();
        System.out.println(testA.a);
        System.out.println(testA.a.A);
    }
}

将打印:
null
A

如果未初始化的实例Enum变量的默认值为null,则如何访问Enum实例?

最佳答案

A.A是静态变量。这是一个坏主意,但被授权使用指向该类实例的变量访问该类的静态变量,即使该变量为null。这不限于枚举:

Integer i = null;
System.out.println(i.MAX_VALUE);

运行良好。但实际上应该写成
System.out.println(Integer.MAX_VALUE);

07-28 12:04