Só agora que na nova versão do NetBeans 6.0 é que é possível na IDE criar os métodos equals() e hashCode(Object),  o que na verdade é uma mão na roda para muitos desenvolvedores, encontrei alguns desenvolvedores como Vinicius Senger da Globalcode e Jefferson Prestes do time de tradução que me disserem que abriam o eclipse apenas para utilizar o recurso de criação destes métodos....
Pensando nisso, como fazia um tempo que não mexia na plataforma netBeans, decidi criar um plugin para a comunidade e de quebra relembrar as APIs da plataforma.
E o plugin faz justamente isto, gera os métodos equals e hashCode baseados nos campos da classe que esta em foco no editor, o método criar os métodos respeitando o contrato de implementação.
 Onde o contrato nos diz que para implementar uma relação equivalente em referencias de objetos não nulo o método:  
- É reflexivo: para qualquer valor de referencia not null para 
x, x.equals(x) deve retornar true.   - É simétrico: para qualquer valor de referencia not null para 
x e y, x.equals(y)      deve retornar true se e somente se y.equals(x) retornar true.   - É transitivo: para qualquer valor de referencia not null para 
x, y, e z, se      x.equals(y) retornar true e y.equals(z) retornar true, então x.equals(z) deve retornar true.   - É consistente: para qualquer valor de referencia not null para 
x e y, multiplas invocações de x.equals(y) consistentemente retornarão true ou consistentemente retornarão false.   - Para qualquer valor de referencia not null para 
x,      x.equals(null) deve retonar false.   
Como não poderia deixar de ser, temos que seguir um contrato para seguir
 hashCode que é:   
- Sempre que for invocado no mesmo objeto mais de uma vez durante a execução de uma aplicação Java, o método hashCode deve sempre retornar o mesmo integer.   
 - Se dois objetos são iguais de acordo com a execução do método equals(Object), então chamar o método 
hashCode em cada um dos dois objetos deve produzir o mesmo resultado inteiro.    - Não é obrigado que se dois objetos são diferentes de acordo com a execução do método equals(Object) que chamando o método hashCode em cada um dos dois objetos deve produzir resultados inteiros distintos.  Entretanto, o programador deve ter cautela, pois produzir resultados inteiros distintos para objetos diferentes podeve causar problemas de performance ao utilizar hashtables.
 
  Essas são as regras para se implementar equals(Object) e hashCode(), além de seguir estas regras o plugin segue a espeficação de Joshua Bloch para a implementação destes métodos no livro Effective Java. Portanto talvez você pode achar a implementação bem similar a forma do eclipse produzir estes métodos.
Segue abaixo alguns screenshots do plugin. O plugin esta internacionalizado, disponivel para inglês e português.
Para instalar o plugin efetue o download do arquivo nbm no 
portal de plugin  do netbeans clicando 
aqui.
Após instalar o nbm espere enquanto o netBeans faz um "hot deploy", após a instalação, para utilizar o plugin, no editor de um arquivo java basta acessar o menu Refatorar > Implementar hashCode() e equals(Object) ou clicando com o botão direito do mouse e acessando o menu pop up Refatorar > Implementar hashCode() e equals(Object).

  Após pressionar o botão será apresentado uma JDialog disponibilizando as fields que você deseja implementar nos métodos.

Após pressionar ok, pronto o código esta pronto =) ,, fácil não.. Eclipse para que ? hehe
E ele até que é esperto, se você tentar criar os métodos em uma classe que já possui os métodos, o plugin dá mensagem.


Se sua classe tiver só a classe equals e quiser só o hashCode por exemplo, ele é bem compreensivo..

Bom é isso, esse é um plugin bem simples, mas que ajuda muito no dia a dia.. peço aos meus queridos amigos que baixem este plugin e testem, se tiver dúvidas ou sugestões, é só avisar.