Objetos iguais = hashcode  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
Wilhans
JavaChild
[Avatar]

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 !!
[Email]
diego2005
GUJ Master
[Avatar]

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
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
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
leofernandesmo
JavaEvangelist
[Avatar]

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"
[Email] [MSN]
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/
[WWW]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team