为什么Java允许将null值分配给枚举类型?

34 浏览
0 Comments

为什么Java允许将null值分配给枚举类型?

这更像是一个设计问题,所以没有代码。如果你想让我这样做,我可以发布创建枚举并将其分配给null的代码。:))

最近我一直在思考这个问题,但是没有想出一个好的理由。枚举常量隐式地是静态和不可变的。枚举的含义是 - “我可以取一个在我内部存在的常量的值”。为什么允许枚举有一个null值呢?为什么不隐式地将枚举的值默认为Enum.DEFAULTEnum.None?这难道不是比允许枚举为null更好的方法吗?

0