嵌套枚举 - 为什么使用它?

maf*_*lda 6 java enums

我已经看到在枚举中声明了枚举的构造.这是用来做什么的?

Juv*_*nis 7

Java中的枚举无法扩展,因此如果您想在一个地方整理与强相关的枚举,您可以使用这些嵌套的枚举结构.例如:

public enum DepartmentsAndFaculties
{
   UN (null, "UN", "University"),
   EF (UN,   "EF", "Engineering Faculty"),
   CS (EF,   "CS", "Computer Science & Engineering"),
   EE (EF,   "EE", "Electrical Engineering");

   private final DepartmentsAndFaculties parent;
   private final String code, title;

   DepartmentsAndFaculties(DepartmentsAndFaculties parent, String code, String title)
   {
       this.parent = parent;
       this.code   = code;
       this.title  = title;
   }

   public DepartmentsAndFaculties getParent()
   {
       return parent;
   }

   public String getCode()
   {
       return code;
   }

   public String getTitle()
   {
       return title;
   }
}
Run Code Online (Sandbox Code Playgroud)

这里,内部枚举由{parent enum,code,title}组合组成.用法示例:

 DepartmentsAndFaculties cs = DepartmentsAndFaculties.CS;
 cs.getTitle();
Run Code Online (Sandbox Code Playgroud)

在构造分层实体/枚举时,您可以看到嵌套枚举的强大功能.