| From | Sent On | Attachments |
|---|---|---|
| andre girao | Sep 15, 2011 3:41 am | |
| Guilherme Braga | Sep 15, 2011 5:18 am | |
| Julio Cesar | Sep 15, 2011 5:21 am | |
| Fernando Érico | Sep 15, 2011 6:35 am | |
| Samuel Freitas | Sep 15, 2011 6:58 am | |
| andre girao | Sep 15, 2011 7:06 am | |
| Helio Frota | Sep 15, 2011 8:17 am | |
| Helio Frota | Sep 15, 2011 8:27 am | |
| andre girao | Sep 15, 2011 8:31 am | |
| Henrique Luz | Sep 15, 2011 9:12 am | |
| Guilherme Braga | Sep 15, 2011 10:06 am | |
| BRUCE WAYNE | Sep 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"
-- Atenciosamente, Hélio Frota





