1
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中的字段为空。我终于找出原因。 (枚举仅在第一次被调用时才被实例化)。为了解决这个问题,我在使用特定文件中的Bar之前添加了FOO.TATA;
。Java枚举实例化
所以我的问题,是否有一个更优雅的方式来确保一个枚举在另一个之前实例化?
做这些枚举代表在现实生活中?看起来这不是使用枚举的好地方。 –
@NikitaBeloglazov它正在工厂使用..不幸的是,我没有我的话在这个问题上说。 –