atom feed12 messages in net.java.dev.cejug.discussao[CEJUG] Re: Duvidas sobre assuntos da...
FromSent OnAttachments
andre giraoSep 15, 2011 3:41 am 
Guilherme BragaSep 15, 2011 5:18 am 
Julio CesarSep 15, 2011 5:21 am 
Fernando ÉricoSep 15, 2011 6:35 am 
Samuel FreitasSep 15, 2011 6:58 am 
andre giraoSep 15, 2011 7:06 am 
Helio FrotaSep 15, 2011 8:17 am 
Helio FrotaSep 15, 2011 8:27 am 
andre giraoSep 15, 2011 8:31 am 
Henrique LuzSep 15, 2011 9:12 am 
Guilherme BragaSep 15, 2011 10:06 am 
BRUCE WAYNESep 15, 2011 1:46 pm 
Subject:[CEJUG] Re: Duvidas sobre assuntos da Certificação Java Standard
From:andre girao (andr@hotmail.com)
Date:Sep 15, 2011 8:31:59 am
List:net.java.dev.cejug.discussao

Achava que ele fazia autobox no CASE, mas tudo bem , entendi !

André Girão

Java Programmer

Tel: (085) - 87052585

"Piratear é ilegal. Usar Linux é legal !"

"Write once, run anywhere"

Date: Thu, 15 Sep 2011 12:17:55 -0300 From: heli@gmail.com To: disc@cejug.java.net Subject: [CEJUG] Re: Duvidas sobre assuntos da Certificação Java Standard

Boa tarde André,

http://java.sun.com/docs/books/vmspec/2nd-edition/html/Compiling.doc.html#14942

Gostei desta questão, segundo a especificação da JVM (link acima) o que acontece
é que

a JVM usa instruções (tableswitch e lookupswitch) que são operadas somente sobre
dados primitivos "int".

"The Java virtual machine's tableswitch and lookupswitch instructions operate
only on int data. Because operations on byte, char, or short values are
internally promoted to int, a switch whose expression evaluates to one of those
types is compiled as though it evaluated to type int. If the chooseNear method
had been written using type short, the same Java virtual machine instructions
would have been generated as when using type int. Other numeric types must be
narrowed to type int for use in a switch."

15 de setembro de 2011 09:22, Julio Cesar <juli@gmail.com> escreveu:

Olá Andre,

Até onde eu sei, e talvez eu esteja errado, só do simples fato de nao ser um int
ou char, ele dá o erro de compilacao. Lembrando que no Java 7 está aceitando
strings agora. abracos,

Julio Cesar

2011/9/15 andre girao <andr@hotmail.com>

Pessoal, Estarei fazendo a prova de certificação agora no mês de outubro, estou fazendo
umas revisões finais, mas fiquei com um dúvida,por favor, vejam o código abaixo
:

int x = 10; final int i = 10; final Integer i2 = 20;
switch(x){

case i: System.out.println("x = "+ x); case i2 : System.out.println("x = "+
x); // não compila, não é constante

} Alguém sabe me informar porque 'Integer' mesmo marcado como 'final', não é
considerado constante, para ser utilizado dentro do switch ????

André Girão

Java Programmer

Tel: (085) - 87052585

"Piratear é ilegal. Usar Linux é legal !"

"Write once, run anywhere"