| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2007 15:28:14
|
Raff
Virtual Machine Man
![[Avatar]](/images/avatar/1f8d87e1161af68b81bace188a1ec624.png)
Membro desde: 31/07/2006 10:31:45
Mensagens: 642
Localização: Marilia - SP / São Carlos -SP
Offline
|
Pessoal eu estava lendo o livro da Kathy sobre boxing e unboxing, quando me surgio duvida sobre o assunto.
Exemplo dado o codigo a baixo o que acontece
a saida que deu aqui no eclipse de casa foi "Usando wrapper Byte", mas eu estava certo que iria sair "Usando a ampliação 5" pois como o livro mostra a compilador prefere ampliar do que fazer boxing....
Pessoal por favor me esclareça essa duvida...
|

SCJP 5.0
SCWCD 5.0
Mestrando UFSCAR... |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2007 15:57:34
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
O seu teste está errado. Se quiser checar a tal "ampliação" (Widening), faça com este programa:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2007 16:09:49
|
LPJava
GUJ Hacker
Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline
|
bom, nao tem pq ele chamar o Object, ja que byte é um primitivo.. se ele nao encontrar um correspondente ele nao compila.. mas como no java 5 tem o autoboxing ele faz de byte para Byte, remova ai o metodo que tem o Byte para ver se ele faz o autoboxing para Object e depois par Byte, segundo a kathy isso era muita coisa para o compilador.
|
Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/07/2007 08:39:21
|
RafaelVS
JavaEvangelist
![[Avatar]](/images/avatar/50454f95bbf5e6478cc0a55d08338731.jpg)
Membro desde: 13/12/2006 09:50:16
Mensagens: 405
Localização: Recife - PE
Offline
|
thingol wrote:O seu teste está errado. Se quiser checar a tal "ampliação" (Widening), faça com este programa:
Na verdade, a opção Object é ambos e nesta ordem: boxing + widening. Se só tivesse essa opção, o byte primitivo seria boxed para Byte e então widened para Object.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/07/2007 09:10:44
|
Omeganosferatu
JavaEvangelist
![[Avatar]](/images/avatar/47a0a618c0365cf757ff3021ee5ef976.jpg)
Membro desde: 05/01/2007 10:13:24
Mensagens: 328
Localização: São Paulo
Offline
|
O problema é que voce usa um byte primitivo e tem um método com uma chamada pra Byte ( box de byte ), portanto ele prefere fazer o box, a ampliação seria feita se você tivesse algum outro método com algum primitivo.
Dessa forma ele chamaria o int, pra chamar object, voce teria que omitir o método com um wrapper Byte e omitir ou modificar o método do int pra um wrapper Integer
|
Sun Certified Java Programmer
Sun Certified Java Developer
The death of one is a tragedy, but death of a million is just a statistic ( Joseph Stalin ) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/07/2007 12:49:05
|
LPJava
GUJ Hacker
Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline
|
so mais uma dica.. os novos recursos seria a ultima coisa que ele faria ai.. como autoboxing, vargs.... como Omeganosferatu falou se tivesse um primitivo "int " por exemplo esse seria chamado ao inves do da ampliação para o Byte isso por questao de compatibilidade até.. ja que o autoboxings so ta presente a partir do java 1.5.
|
Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
|
|
|
 |
|
|