我有两个相互交叉引用的枚举。每个都有一个构造函数,该构造函数具有其他枚举的参数。
它们看起来像:
SchoolEnum(ImmuneEnum value)
{
this.immune = value;
}
ImmuneEnum(SchoolEnum value)
{
this.school = value;
}
但是,根据我首先调用的 Enum,我可以获得引用变量的空值。
ImmunityEnum immune = ImmunityEnum.IMMUNE_KANNIC;
SchoolEnum school = SchoolEnum.KANNIC;
System.out.println(school.getImmune())
System.out.println(immune.getSchool());
产生输出:null Kannic
SchoolEnum school = SchoolEnum.KANNIC;
ImmunityEnum immune = ImmunityEnum.IMMUNE_KANNIC;
System.out.println(school.getImmune())
System.out.println(immune.getSchool());
产生输出: Immunokannic null
关于枚举何时实例化,这似乎有点“鸡和蛋”的问题。但是有没有办法让每个人都正确地引用另一个人?我正在考虑制作两个人工交叉引用两者的单例哈希图,但有更好的主意吗?