使用枚举定义嵌套数据类型

Define nested data type using enum

我想在 java

中使用 enum 定义嵌套常量
public class AppConstants {    
    enum E1{        
        public enum E11{ // Here i am getting:- as of release 5, 'enum' is a keyword, and may not be used as an identifier
            var1
        }       
        public enum E12{
            var1
        }        
    }
}

我的目标是像 E1.E11.var1 一样访问或定义类型“E1.E11”。解决方案或替代方案是什么?

像这样:

enum E1 {
    ; // <--
    enum E11 {}
    ...

如果枚举除常量外还有声明,则常量部分(在本例中为空)需要以分号结尾。

为什么不使用:

enum E1{        
    E11(Object var1_value1), E12(Object var1_value2);
    Object var1;
    E1(Object var){
      var1=var;
     }
}

之后就可以使用E1.E12.var1了