Originariamente inviato da LeleFT
Ho effettuato una prova ed ho evidenziato la stessa anomalia: credo proprio che nel bytecode delle classi che usano i campi statici vengano inseriti i valori dei campi. Bisognerebbe farlo presente a Sun.
Ciao.
La sun lo sa, infatti in Java 5 sono state aggiunge le enum e valori per le costanti, ora potresti usare(con Java 5) un codice tipo:
codice:
public enum Enumerazione {
COSTANTE(1000), COSTANTE2(1002);
private final int value;
private Enumerazione(int value) {
this.value = value;
}
public int value() {
return value;
}
}
e chiamare con:
codice:
...
Enumerazione e = Enumerazione.COSTANTE;
...
e prenderne il valore col metodo value, ecco un esempio:
codice:
System.out.println(e + " " + e.value());
N.B se stampi il nome dell'enumerazione viene scritto il suo nome
da costante, qui verrà come output:
COSTANTE 1000