为什么枚举类型不能在方法中局部声明?
- 论坛
- 为什么枚举类型不能在方法中局部声明?
12 浏览
为什么枚举类型不能在方法中局部声明?
今天,我发现自己正在编写类似这样的代码...
public class LocalEnums { public LocalEnums() { } public void foo() { enum LocalEnum { A,B,C }; // .... // class LocalClass { } } }
当编译器在本地enum
上报告错误时,我感到有些惊讶:
成员enum LocalEnum 不能是本地的
为什么枚举不能像类一样声明为本地的?
我发现在某些情况下这非常有用。在我所处理的情况下,代码的其余部分不需要了解enum
的任何信息。
是否存在任何结构/设计冲突可以解释为什么这是不可能的,或者这可能是Java的未来功能之一?