Una cosa è una costante (nel senso che non cambia) e un'altra (molto più stringente) è una costante "a tempo di compilazione".Originariamente inviato da Poker1
ma la variabile che mi sono definito non è costante?
Ed è costante a tempo di compilazione se il compilatore "sa" già (o può calcolare) in modo inequivocabile il valore.
Nel secondo caso è ovvio che il compilatore NON può sapere il valore.codice:public static final int a = 1234; // costante a tempo di compilazione public static final int a = unMetodo(); // costante NON a tempo di compilazione
E per i case dello switch il compilatore deve sapere i valori a priori!

Rispondi quotando