Na especificação do método hashCode() diz que ele retorna o valor int do cóigo de hashing de um objeto… o que significa isso
Código de hashing?
8 Respostas
Bah véio, obrigado pelo link, mas meu inglês não anda bem, não teria algo em português, ou melhor, uma descrição breve do que é código de hashing
vai no altavista.com.br, entra em traduzir, entra com o endereço do site e quase beleza pois a tradução é meia boca.
O método tem que retornar um int, só isso mesmo. 
Para o exame de certificação não importa como é feito o hashing.
Pode até ser que dentro do método tenha um simples “return 9;”, não é eficiente mas é legal.
Você só precisa saber o seguinte:
- a assinatura do método “public int hashCode()” que é da classe Object;
- as regras para codificá-lo(no livro da Kathy tem uma lista delas);
- sempre que fizer “override” do método equals() tem que fazer de hashCode() também;
- é usado em algumas Collections para localizar e ordenar elementos
O método tem que retornar um int, só isso mesmo. 
Para o exame de certificação não importa como é feito o hashing.
Pode até ser que dentro do método tenha um simples “return 9;”, não é eficiente mas é legal.
Você só precisa saber o seguinte:
- a assinatura do método “public int hashCode()” que é da classe Object;
- as regras para codificá-lo(no livro da Kathy tem uma lista delas);
- sempre que fizer “override” do método equals() tem que fazer de hashCode() também;
- é usado em algumas Collections para localizar e ordenar elementos
- a assinatura do método “public int hashCode()” que é da classe Object;
- as regras para codificá-lo(no livro da Kathy tem uma lista delas);
- sempre que fizer “override” do método equals() tem que fazer de hashCode() também;
- é usado em algumas Collections para localizar e ordenar elementos
Concordo com todas as informações, mais no caso do: “sempre que fizer “override” do método equals() tem que fazer de hashCode() também;”, meu instrutor na SUN falou que não é necessario! E agora é ou não? No livro fala da certificação fala should --> shall --> dever
???
???
Exatamente… no livro está “should”, ou seja, é uma recomendação para que funcione na localização de objetos mais eficiente.
Isto não quer dizer, realmente, que seja obrigatório, e sim que é perfeitamente legal você quebrar essa regra mas consequentemente terá uma performance pior.
Foi o que eu entendi.
Exatamente… no livro está “should”, ou seja, é uma recomendação para que funcione na localização de objetos mais eficiente.
Isto não quer dizer, realmente, que seja obrigatório, e sim que é perfeitamente legal você quebrar essa regra mas consequentemente terá uma performance pior.
Foi o que eu entendi.
Mais ou menos isso mesmo que o instrutor disse também, tipo ajuda nas APIs que fazem ordenação e algumas outras coisas…
Legal ! 