Olá a todos !
Tenho uma dúvida referente a como sobrescrever o método equals da melhor forma possível e gostaria de compartilhar com vocês.
O método equals se encontra na classe Object, sendo assim, todas as outras classes do Java irão herdar este método, possibilitando assim sobrescreve-lo. Na classe String, por exemplo, o método equals está sobrescrito para considerar que outro objeto do tipo String com o mesmo conteúdo possa ser considerado como igual. E tudo isso ocorre pois se caso utilizássemos o “==”, estaríamos fazendo comparação entre referências de memória dos objetos e não referência ao conteúdo do objeto.
Sabendo disso, caso eu desejasse utilizar o equals em meus objetos de negócio eu tenho que sobrescrever o método equals para fazer a comparação entre conteúdos e dizer se os valores dos atributos dos objetos são iguais.
Ai está o problema, para cada atributo que eu colocar em minha classe de negócio eu teria que adicionar na comparação no equals ? Todo exemplo que vi até agora, o método equals é sobrescrito comparando o valor chave entre os objetos, por exemplo, o campo código, ou ID.
Mas isso não me garante que os objetos são iguais, e sim que tem o mesmo ID ou código.
Resumindo, como eu faço isso de uma forma mais elegante ? Quero sobrescrever o método equals e comparar todos os atributos para saber se os objetos tem os mesmos valores.
Desde já, muito obrigado !
