Esse método equals está na classe TipoArquivoAction ?
Djonatah
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.
P
programador1212
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.
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
M
marcobiscaro2112
Etapas importantes para verificar se dois objetos são iguais:
Verifique se o objeto passado como argumento é diferente de null
Verifique se o objeto é uma instância da mesma classe
Compare os atributos importantes do objeto
Não esqueça de implementar também o hashCode
Exemplos:
Classe Pessoa
publicclassPessoa{privateStringcpf;privateStringnome;privateintidade;// o resto dos atributos pertinentes ao sistema// construtor, getters e setters omitidospublicbooleanequals(Objecto){if(o==null||!(oinstanceofPessoa)){returnfalse;}returncpf.equals(o.cpf);// compara apenas usando o CPF}// não esqueça de implementar o hashCode}
Classe Livro
publicclassLivro{privateStringisbn;privateStringtitulo;privateStringcodigo;privateStringautor;// o resto dos atributos pertinentes ao sistema// construtor, getters e setters omitidospublicbooleanequals(Objecto){if(o==null||!(oinstanceofLivro)){returnfalse;}returnisbn.equals(o.isbn)&&codigo.equals(o.codigo);// compara pelo ISBN e pelo código (já que podem haver vários exemplares do mesmo livro numa biblioteca, por exemplo)}// não esqueça de implementar o hashCode}