| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2007 11:18:27
|
AndrewAguiar
JavaChild
Membro desde: 18/07/2006 10:03:59
Mensagens: 124
Offline
|
Olá Pessoal.
Me deparei com o seguinte exemplo no livro da Kathy:
o resultado é:
true
false
Não entendi muito bem, porque no primeiro exemplo são os mesmos objetos e no segundo são objetos diferentes.
A unica diferenca do primeiro teste para o segundo são os valores.
Grato a todos.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2007 11:22:10
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
E essa é a grande diferença.
Todos os números de -127 até 128 estão em cache. Ou seja, sempre que você solicita-los, o mesmo Integer será retornado. Não sei porque desse valor, creio que devam ter descoberto que eles são muito usados.
Agora, criando fora desse escopo, você obterá objetos diferentes, pois eles sempre serão criados.
No caso, você está fazendo a comparação com ==. Para obter sempre o mesmo resultado, use o método equals, como você faria com um String. Nesse caso, os valores (ao invés da identidade) serão comparados.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2007 11:26:30
|
AndrewAguiar
JavaChild
Membro desde: 18/07/2006 10:03:59
Mensagens: 124
Offline
|
Valeu kra, o esquema do equals eu sei, só fiquei com duvida pois tinha esta questão no javablackbelt.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2007 11:48:07
|
nbluis
GUJ Master
![[Avatar]](/images/avatar/f0682320ccbbb1f1fb1e795de5e5639a.jpg)
Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline
|
Todos os números de -127 até 128 estão em cache. Ou seja, sempre que você solicita-los, o mesmo Integer será retornado. Não sei porque desse valor, creio que devam ter descoberto que eles são muito usados.
Bah, isso eu realmente não sabia.
valeu ViniGodoy;
São estas e outras que fazem o guj ser o que é.
Até mais...
|
Luis Eduardo Bohrer
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. |
|
|
 |
|
|