这是我的示例代码:
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);