枚举类型在Java中初始化混淆

时间:2016-04-12 01:43:10

标签: java enums initialization

public enum itemType{
  COMPANYY_WIDE("Company"),
  DEPARTMENTAL("Departmental"),
  PROJECT_SPECIFIC("Project");

  private String itemCode;

  private itemType(String dbCode){
      this.itemCode=dbCode;
  }

  public static void main(String[] args) {
      itemType type3=new itemType("Project");// line 1 
      itemType type2=itemType.valueOf("PROJECT_SPECFIFIC");// line 2
      itemType type4=itemType.values()[0];// line 3
      itemType type1=itemType.DEPARTMENTAL;
   }
}

因此enum itemType有4种类型,每种类型都有一个属性itemcode,它也是dbcode。我尝试用main中的不同方法初始化枚举类型但我有一些困惑。为什么第1行不起作用?为什么第2行和第3行会起作用?

1 个答案:

答案 0 :(得分:0)

在Java中,enum是一个特殊的类型类,它具有固定数量的对象。

对于您的情况,itemType正好有三个名为COMPANYY_WIDEDEPARTMENTALPROJECT_SPECIFIC的对象。您无法在运行时为enum创建任何新对象。

您可以阅读此Java-Doc Java Enum