Enum sich selbst als Parameter übergeben

Katzehuhn

Erfahrenes Mitglied
Ich hab vor kurzen meine Eclipse Ide neu installiert(und dabei gleich von Version 3.3 auf 3.4 upgradet) um einwenig aufrzuräumen und unnötiges Zeugs zu entfernen. Damit war ich auch mehr als zufrieden.
Jetzt besteht jedoch noch ein kleiner Fehler den ich einfach nicht wegbekomme und der im alten Eclipse nicht aufgetreten ist:


Code:
public enum EnumTest{
ENUM1(EnumTest.ENUM2),ENUM2,ENUM3;
....
}
Ich übergebe dem Enum sich selbst. Früher funktionierte dies ohne Probleme jetzt jedoch bekomm ich diese Fehlermeldung:
"- Cannot reference a field before it is defined".
Hab schon versucht das alte JDK zu verwenden und hab auch die Einstellungen zwischen den zwei Eclipse Versionen abgeglichen, leider alles ohne Erfolg, jemand eine Idee woran das liegen könnte?
 
Moin,

so aus'm Bauch (und am frühern Morgen ;)) würde ich mal sagen, dass Du ENUM2 übergibst, bevor sie definiert ist, was meiner Meinung nach schon die Fehlermeldung besagt!
Würde mich wundern, wenn das so mit einer älteren Version gelaufen haben sollte ...

Gruß
Klaus
 
Das Konstrukt soll Ausruestungspostionen für ein Browsergame abbilden. Da es auch Munitionsslots gibt, diese jedoch abhängig von den Waffenslots sind.
Ja mich wundert auch warum das im älteren Eclipse funktioniert hat xD.
Würde das so wie ichs geschrieben habe(also parameterübergabe bevor enum initalisiert) bei euch laufen ohne eine Fehlermeldung auszuspucken?

lg
 
Also mir ist wirklich nicht klar was du damit bewirken willst. Aber dass du nichts übergeben kannst was noch nicht da ist, ist ja irgendwie logisch.

So beispielsweise geht das:
Java:
public enum EnumTest {
	 ENUM2, ENUM1(EnumTest.ENUM2), ENUM3;

	EnumTest(EnumTest t) {

	}

	EnumTest() {

	}
}

Allerdings solltest du wirklich überlegen was du damit erreichen willst.
 
Naja diese Enums stellen wie schon gesagt Ausruestungspositionen dar, weis grad nicht ob das Sinn ergibt, ist ein älteres Projekt.
Ist aber auch egal, mich wundert es nur warum der selbe Code unter Eclipse 3.3.1.1 rennt, wo hingegen er unter Eclipse 3.4 nicht mehr funktioniert.

Ok grad nochmal angeschaut, es funktioniert in der älteren Version auch nicht, es wird nur nicht als Fehlerhaft von der IDE angezeigt. Danke für eure Hilfe!
 
Zurück