Olá,
Alguém poderia me explicar pra que serve este bendito hashCode() ???
Olá,
Alguém poderia me explicar pra que serve este bendito hashCode() ???
Então o método hashCode juntamente como método equals servem para comparar dois objetos.
Será que alguém tem um exemplo bem simples e didático para me mostrar?
O exemplo mais prático ocorre em Collections.
Por exemplo, ao se adicionar um objeto em um Set (que não permite objetos duplicados) esses métodos são usados para verificar se o objeto a ser adicionado já não está no Set:
Set<String> meuSet = new HashSet<String>();
meuSet.add("a");
meuSet.add("b");
meuSet.add("b"); // esse objeto não é adicionado pois já existe no Set
// aqui o hashCode e o equals são usados para fazer essa verificação
meuSet.add("c");
System.out.println(meuSet);
tranquilo segue o exemplo:
vc tem uma objeto com 2 propiedades (nome,cpf), vc instanciou um objeto q esta na memoria e esse objeto tem as propiedades igual a nome=joao e cpf = 0000, ai vc faz uma consulta na sua base de dados e pega um objeto com nome = joao e cpf = 0000, ou seja vc tem 2 objetos na memoria que possuem propiedades iguais, se vc quiser interpretar no seu sistema q objetos com propiedades iguais sao a mesma coisa vc implementa o hashcode q ai nesse exemplo q eu dei vc só vai ter 1 objeto na memoria, entendeu ai ajudou ?
Interessante que quando as pessoas descrevem casos no uso do dia a dia parece ser muito mais fácil do que quando agente lê um livro técnico.