Pessoal, tava lendo o livro da Kathy Sierra. Lá tem as formas legais de se usar o switch e tal. Uma coisa não ficou clara pra mim, talvez eu tenha perdido algum detalhe, mas é o seguinte: segundo o livro, esse código é inválido
class ClasseTeste {
public static void main(String[] guj) {
final int a;
a = 2;
int x = 1;
switch(x){
case a:
break;
}
}
}
Na linha 07, teremos um erro de compilação, por que a variável ‘a’ deve ser constante. Se eu inicializá-la na declaração, o problema é resolvido. Dúvida: declarando como final não basta para que ela seja constante? Por que tenho que inicializar na linha que declaro? Do jeito que está no código, eu consigo imprimir a variável na saída, mas não posso usar no switch. Por quê?
Agradecido galera.