Hallo
Ich hab leider noch nicht viel Erfahrung mit Java. Mein Fehler ist für einen erfahrenen Programmierer vermutlich sehr simpel zu lösen Ich hab folgendes Problem: 2Klassen, wobei eine nichts weiter als die "enum"-Funktion von C++ darstellt. (Das Programm ist für eine Arbeit. Die enum-Funktion von Java5 kann nicht verwendet werden).
In einer weiteren Klasse habe ich eine switch-Funktion, wobei die "case-auswahl" Memervariabeld des enum's sind. Also im Prinzip sowas:
Ich erhalte beim compilieren immer folgenden Fehler:
Switch.java:102:constant expression required
case STATUS.IDLE
...
...
Ist das überhaupt möglich wie ich es machen will?! STATUS.IDLE müsste doch konstant sein?!
Wäre toll wenn mir da einer kurz helfen könnte! Ich finde einfach nirgends was ich falsch mache
Ich hab leider noch nicht viel Erfahrung mit Java. Mein Fehler ist für einen erfahrenen Programmierer vermutlich sehr simpel zu lösen Ich hab folgendes Problem: 2Klassen, wobei eine nichts weiter als die "enum"-Funktion von C++ darstellt. (Das Programm ist für eine Arbeit. Die enum-Funktion von Java5 kann nicht verwendet werden).
In einer weiteren Klasse habe ich eine switch-Funktion, wobei die "case-auswahl" Memervariabeld des enum's sind. Also im Prinzip sowas:
Code:
public final class States {
public static final int IDLE = 0;
public static final int R = 1;
public static final int S = 2;
}
//---------------------------------------------------------------------
public class Switch{
...
private static final States STATUS = new States();
private static int value = STATUS.R;
...
switch (value)
{
case STATUS.IDLE:
break;
case STATUS.R:
break;
default:
break;
}
...
}
Ich erhalte beim compilieren immer folgenden Fehler:
Switch.java:102:constant expression required
case STATUS.IDLE
...
...
Ist das überhaupt möglich wie ich es machen will?! STATUS.IDLE müsste doch konstant sein?!
Wäre toll wenn mir da einer kurz helfen könnte! Ich finde einfach nirgends was ich falsch mache