dúvida com equals() sobrescrito  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
andredecotia
JWizard
[Avatar]

Membro desde: 19/10/2009 14:37:32
Mensagens: 2267
Localização: São Paulo
Offline

pq não funciona?



às vezes tenho a impressão de não estar usando o equals() sobrescrito...

--
André AS


Analista Programador Java Web freelancer / home office
Linkedin: http://www.linkedin.com/profile/view?id=41470291&trk=tab_pro

[Email] [MSN] [ICQ]
pmlm
GUJ Master

Membro desde: 20/04/2009 12:20:07
Mensagens: 1199
Localização: Portugal
Offline

Esse método equals está na classe TipoArquivoAction ?
Djonatah
JavaGuru
[Avatar]

Membro desde: 11/05/2007 15:38:09
Mensagens: 204
Localização: São Bento do Sul - SC
Offline

Esse seu metodo equals nao parece fazer muito sentido..


O que vc espera que seu metodo retorne? Ele vai retornar True, pois vc esta testando se o objeto passado eh uma instancia de uma determinada classe. Nesse caso sempre dois objetos do tipo TipoArquivoAction vao ser considerados iguais.


--------------------------------------------------
" Daria tudo o que sei, pela metade do que ignoro " - Descartes

" Tudo tem seu tempo, cada coisa tem sua ocasiao " - Eclesiastes 3
[MSN]
schranko
JavaTeenager
[Avatar]

Membro desde: 05/09/2010 17:58:40
Mensagens: 156
Localização: Moscow, Russia
Offline

Olá,

O override do método public boolean equals(Object obj) deve ser feito acordo com um contrato definido na especificação,
caso contrário você pode ter alguns resultados "imprevisíveis", por exemplo, ao se utilizar Collections.

Verifique: http://download.oracle.com/javase/6/docs/api/java/lang/Object.html#equals%28java.lang.Object%29

Por exemplo, segundo o seu override do equals, uma Collection do tipo Set iria tratar todas as intâncias de TipoArquivoAction
como sendo iguais!

[ ]'s

This message was edited 1 time. Last update was at 11/09/2010 15:50:03


"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." (Brian W. Kernighan)
[WWW]
marcobiscaro2112
JWizard

Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline

Etapas importantes para verificar se dois objetos são iguais:

1. Verifique se o objeto passado como argumento é diferente de null
2. Verifique se o objeto é uma instância da mesma classe
3. Compare os atributos importantes do objeto
4. Não esqueça de implementar também o hashCode

Exemplos:

1. Classe Pessoa


2. Classe Livro

Marco Biscaro.

Seja livre!

Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?

Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[Email] [WWW] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team