Duvida com Switch

6 respostas
Raff

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;
		}

6 Respostas

ViniGodoy

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

papagaio

tenta faser assim

final int a = 10;  
           final int b;  
           b = 12;  
           Integer key = 10;  
           switch (key) {  
          case 12:  
                
              break;  
     
          default:  
              break;  
          }
G

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

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

G

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

Foi o que eu tinha imaginado mesmo…

[]s
Gunnar

Raff

gk-bgh:
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

Foi o que eu tinha imaginado mesmo…

[]s
Gunnar

Agora entendido :smiley:

Criado 10 de dezembro de 2007
Ultima resposta 10 de dez. de 2007
Respostas 6
Participantes 5