Ich verwende ein Enum für Benutzervariablen, jeder der Variablen ist ein Variablentyp zugeordnet, ebenfalls vom Typ enum.
Mein Problem ... während der Laufzeit wird die final-Eigenschaft urplötzlich geändert.
Hier ein Auszug aus dem Code:
Und jetzt die Ausgabe ...
Wie ist so etwas überhaupt möglich udn was kann ich dagegen tun?
Mein Problem ... während der Laufzeit wird die final-Eigenschaft urplötzlich geändert.
Hier ein Auszug aus dem Code:
Java:
public enum Variables {
//...
SimpleSwitch("SIMPLESWITCH", VariableType.Formula, "key_var_simpleswitch"),
//...
;
Variables(String key, VariableType type, String stringtableKey) {
this.variablekey = variableKey;
this.type = type;
this.stringtableKey = stringtableKey;
}
public VariableType getVariableType() {
return type;
}
//...
private final String variableKey;
private final VariableType type;
private final String stringtableKey;
}
public enum PPVariableType {
Float,
Integer,
Boolean,
Text,
Formula
}
public class MainClass {
public static void main(String... args) {
Thread runner = new Thread() {
@Override
public void run() {
for (;;) {
//logDebug gibt Meldungen samt Location aus
LogTools.logDebug("Variablentyp: " + Variables.SimpleSwitch.getVariableType().name());
try {
sleep(1000);
} catch (InterruptedException ex) {
}
}
}
};
runner.start();
//Daten, Formulare usw. laden
//...
System.out.println("Formulare geladen"); }
}
Und jetzt die Ausgabe ...
Code:
DEBUG 09:54:26 MainClass$1.run(MainClass.java:91): Variablentyp: Formula
DEBUG 09:54:27 MainClass$1.run(MainClass.java:91): Variablentyp: Formula
Formulare geladen
DEBUG 09:54:28 MainClass$1.run(MainClass.java:91): Variablentyp: Formula
DEBUG 09:54:29 MainClass$1.run(MainClass.java:91): Variablentyp: Formula
DEBUG 09:54:30 MainClass$1.run(MainClass.java:91): Variablentyp: Formula
DEBUG 09:54:31 MainClass$1.run(MainClass.java:91): Variablentyp: Formula
DEBUG 09:54:32 MainClass$1.run(MainClass.java:91): Variablentyp: Text
DEBUG 09:54:33 MainClass$1.run(MainClass.java:91): Variablentyp: Text
DEBUG 09:54:34 MainClass$1.run(MainClass.java:91): Variablentyp: Text
DEBUG 09:54:35 MainClass$1.run(MainClass.java:91): Variablentyp: Text
Wie ist so etwas überhaupt möglich udn was kann ich dagegen tun?