public enum FOO{
TATA(TOTO,TITI);
public FOO(BAR bar1,BAR bar2) {
bar1.associate(this,bar2);
}
}
public enum BAR {
TOTO,
TITI;
private FOO _foo;
private BAR _bar;
public void associate(FOO foo,BAR bar) {
_foo = foo;
_bar = bar;
}
}
问题是在我的代码中我在 FOO 之前调用了 BAR。结果是 BAR 中的字段为空。我终于找到了原因。(枚举仅在第一次调用时被实例化)。为了解决这个问题,我FOO.TATA;
在特定文件中使用 Bar 之前添加了该问题。
所以我的问题是,有没有更优雅的方法来确保一个枚举在另一个枚举之前实例化?