Enumeración de Java: no se puede hacer referencia a un campo antes de que se defina
Tengo una enumeración como la de abajo, pero eclipse dice que hay errores en la primera definición de cada par opuesto.
public enum Baz{
yin(yang), //Cannot reference a field before it is defined
yang(yin),
good(evil), //Cannot reference a field before it is defined
evil(good);
public final Baz opposite;
Baz(Baz opposite){
this.opposite = opposite;
}
}
Lo que quiero lograr es poder usarBaz.something.opposite
para obtener elopuesto objeto deBaz.something
. ¿Hay una posible solución para esto? Tal vez un marcador de posición vacío parayang
ybad
antes deyin
ygood
se definen en este ejemplo?