【问题标题】:Define nested data type using enum使用枚举定义嵌套数据类型
【发布时间】:2015-04-24 10:51:33
【问题描述】:

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

【问题讨论】:

    标签: java enums


    【解决方案1】:

    像这样:

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

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

    【讨论】:

    • 我几乎接近这个解决方案了。
    【解决方案2】:

    为什么不使用:

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

    之后你可以使用 E1.E12.var1

    【讨论】:

      猜你喜欢
      • 2011-11-09
      • 1970-01-01
      • 2022-01-03
      • 2012-03-10
      • 2019-09-12
      • 1970-01-01
      • 2018-11-20
      • 2021-08-25
      • 1970-01-01
      相关资源
      最近更新 更多