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

时间:2015-04-24 10:51:34

标签: java enums

我想在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`。什么是解决方案或替代方案?

2 个答案:

答案 0 :(得分:4)

像这样:

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

如果枚举除了常量之外还有声明,那么(在这种情况下,空)常量部分需要用分号终止。

答案 1 :(得分:0)

为什么不使用:

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

您可以在此之后使用E1.E12.var1