Saturday, 13 October 2018

Correct Implementation of hashcode and equals method

1. public class Test
2. {
3.  private int num;
4.  private String data;
5.
6.  public boolean equals(Object obj)
7.  {
8.   if(this == obj)
9.    return true;
10.   if((obj == null) || (obj.getClass() != this.getClass()))
11.    return false;
12.   // object must be Test at this point
13.   Test test = (Test)obj;
14.   return num == test.num &&
15.   (data == test.data || (data != null && data.equals(test.data)));
16.  }
17.
18.  public int hashCode()
19.  {
20.   int hash = 7;
21.   hash = 31 * hash + num;
22.   hash = 31 * hash + (null == data ? 0 : data.hashCode());
23.   return hash;
24.  }
25.
26.  // other methods
27. }

No comments:

Post a Comment