Método HashCode, Equals e toString

2 respostas
D

Olá amigos,

Alguem poderia me esplicar porque usar o métodos HashCode, Equals e toString.

Se puderem exemplificar eu agradeço.

Um Abraço a todos!!!

2 Respostas

J-Chist

O toString você geralmente sobrescreve e usa quando quer imprimir o valor dos atributos do seu objeto. Por exemplo, se você tem um objeto Vector e dá um toString nele, obtém uma string com todos os elementos contidos no Vector entre []. O método toString original (que todas as classes em Java herdam de Object) retorna o hash code do objeto.

O método equals (como o nome diz) é para comparar objetos. Em Java, se você usa == para comparar dois objetos vai comparar somente a posição de memória de ambos. O método equals compara o estado (valor dos atributos) dos objetos para dizer se ambos são ou não iguais. Você também deve sobrescrever esse método em suas classes, comparando os atributos que são relevantes para seu caso específico.

O hashCode retorna o valor de hash para aquele objeto, mas eu não sei exatamente para que serve. Considerando que a função de hash é usada para alocar um elemento em posições, imagino que tenha algo a ver com as Colletcions de Java. O equals [original] usa esse método, pois objetos iguais devem ter o mesmo hash code.

Dá uma olhada na API da classe Object, de repente te esclarece mais.

D

Olá J-Chist,

Obrigado pelas informações, ja deu para ter uma boa noção de suas usabilidades.

Um forte abraço!!!

Criado 14 de agosto de 2009
Ultima resposta 14 de ago. de 2009
Respostas 2
Participantes 2