Raff
Dezembro 10, 2007, 11:18am
#1
Pessoal o Livro da Kathy diz que uma variavel para ser usada no case: tem que ser uma constante em tempo de compilação …
alguem poderia me explicar por que isso da erro ??
final int a = 10;
final int b;
b = 12;
Integer key = 10;
switch (key) {
case b:
break;
default:
break;
}
Terceira vez que essa pergunta é feita no fórum…
http://www.guj.com.br/posts/list/74896.java#393588
Inclusive você participou das discussões da dúvida original!!! :-o
tenta faser assim
[code] final int a = 10;
final int b;
b = 12;
Integer key = 10;
switch (key) {
case 12:
break;
default:
break;
} [/code]
gk-bgh
Dezembro 10, 2007, 11:40am
#4
Bom
Eu acho que o erro aqui é outro…
Acho que o erro aqui tem a ver com o final. Se você colocar case a: funciona.
Se você colocar final int b = 12; // na mesma linha declaração e inicialização
o seu código funciona.
Acho que o erro acontece porque variáveis locais final tem que ser inicialidas na declaração. (me corrijam se eu estiver falando bobagem)
[]s
Gunnar
Olá eu discuti isto estes dias com o pardal_nb,
e respondi ele aqui: http://guj.com.br/posts/list/75821.java#399075
Att
gk-bgh
Dezembro 10, 2007, 1:14pm
#6
[quote=danielbussade]Olá eu discuti isto estes dias com o pardal_nb,
e respondi ele aqui: http://guj.com.br/posts/list/75821.java#399075
Att[/quote]
Foi o que eu tinha imaginado mesmo…
[]s
Gunnar
Raff
Dezembro 10, 2007, 1:21pm
#7
[quote=gk-bgh][quote=danielbussade]Olá eu discuti isto estes dias com o pardal_nb,
e respondi ele aqui: http://guj.com.br/posts/list/75821.java#399075
Att[/quote]
Foi o que eu tinha imaginado mesmo…
[]s
Gunnar[/quote]
Agora entendido