| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/08/2007 08:15:12
|
Wilhans
JavaChild
![[Avatar]](/images/avatar/c90701f4414fbb0f5cf60.jpg)
Membro desde: 10/08/2003 00:13:41
Mensagens: 117
Localização: araraquara
Offline
|
Pessoal,
Encontrei a seguinte situação em um simulado:
Ambas afirmativas.
A 1 esta correta, porque objetos iguais tem que ter o mesmo hashcode, mas a situação 2 não ficou clara !?
Alguém poderia esclarecer ?
Obrigado.
|
SCJP
Corra atrás de seus sonhos....caso não encontre nesta padaria.....vá em outra !!
Nunca desista de seus sonhos !! |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/08/2007 08:20:15
|
diego2005
GUJ Master
![[Avatar]](/images/avatar/7fd4db88d31ab524e0afe153c4f9465a.jpeg)
Membro desde: 17/08/2005 10:11:05
Mensagens: 1095
Offline
|
Objetos diferentes podem ou não produzir o mesmo hashCode, pois o método hashCode pode retornar o mesmo número para todos os objetos:
Apesar desse exemplo ser péssimo, ele é válido.
T+
|
SCJP 1.4
Meu Currículo |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/08/2007 09:25:19
|
thiagomont
JavaChild
Membro desde: 02/05/2007 00:49:04
Mensagens: 139
Offline
|
Blz?
Conforme o que o diego2005 comentou realmente o hashcode pode ser igual para objetos distintos.
Para verificar se dois objetos são iguais é recomendado utilizar os métodos Equal e hashcode. O Hashcode usa um tipo de validação onde é gerado um código considerando o conjunto de atributos da classe. O equals faz a comparação campo a campo.
Espero cque tenha ajudado.
|
Thiago Amaral Monteiro
Analista de Sistemas - SERPRO
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/08/2007 09:29:24
|
thiagomont
JavaChild
Membro desde: 02/05/2007 00:49:04
Mensagens: 139
Offline
|
Blz?
Conforme o que o diego2005 comentou realmente o hashcode pode ser igual para objetos distintos.
Para verificar se dois objetos são iguais é recomendado utilizar os métodos Equal e hashcode. O Hashcode usa um tipo de validação onde é gerado um código considerando o conjunto de atributos da classe. O equals faz a comparação campo a campo.
Espero que tenha ajudado.
|
Thiago Amaral Monteiro
Analista de Sistemas - SERPRO
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2007 22:08:55
|
leofernandesmo
JavaEvangelist
![[Avatar]](/images/avatar/a536fb5480db8bdbb84daffe345c675b.jpg)
Membro desde: 05/06/2006 10:27:10
Mensagens: 337
Localização: Rec->Mac
Offline
|
usar:
é correto, mas num programa real é interessante implementar o método hashcode, pois caso o seu objeto precise ser chave numa tabela hash ele é utilizado para acelerar a pesquisar.
|
Blog: http://jroller.com/page/leofernandesmo
Msg: "Não adianta olhar pro céu com muita fé e pouca luta" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/08/2007 11:07:32
|
LPJava
GUJ Hacker
Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline
|
simples vc pode ter objetos onde o equals = false porem com mesmo hashing.. pq isso? depende da implementação do hashcode... isso é uma forma ineficiente mais é valido.. o eficiente é que objetos = = false retorne hashcode diferente.. mais se isso nao acontecer nada impedir de o codigo compilar e executar.. apenas quando usar conjuntos, vai perceber o problema para encontrar os objetos, principalmente nas coleções que trabalhar com codigo hashing. como: HashMap, LinkedHashMap etc..
flw!!
|
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/
|
|
|
 |
|
|