Igualdade de Integer  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
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.
ViniGodoy
Moderador
[Avatar]

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.
[WWW]
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.
nbluis
GUJ Master
[Avatar]

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.
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team