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)
在构造分层实体/枚举时,您可以看到嵌套枚举的强大功能.