• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Reg Hashcodes

 
Vishnu Munnangi
Ranch Hand
Posts: 114
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi everybody,

I wanted to compare to objects for equality, and get the hashcode of the objects. I have overridden equals method so that the objects which contain the same data will return true. I read in some book that whenever you override the equals method, you should also override the hashCode method. Can anyone explanin me how to override the hashCode method so that the hashCode values of the objects be equal.

The code is as follows:

public class Equals {
int i;
public Equals(int i){
this.i = i;
}
public boolean equals(Equals obj){
if(obj.i == i)
return true;
else
return false;
}
public int hashCode(){
//Code to write here. so that the two objects which are equal give same hashcode value
}
public static void main(String args[]){
Equals obj1 = new Equals(1);
Equals obj2 = new Equals(1);
System.out.println(obj1.equals(obj2));
}
}

Thanks in Advance.
 
Saheed Adepoju
Ranch Hand
Posts: 267
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi
Well from what u have written if u want it to return the same hashcode u could simply put return 0; which will ensure that the same number would be returned whenever u call it. There are other techniques though but i guess this would solve ur problem. Cheers.
Saheed.
SCJP 1.4(Coming soon..)
Imagination is better than Knowledge.
 
Corey McGlone
Ranch Hand
Posts: 3271
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This should answer your question.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic