consider the following code:
public class
Test {
public static void main(
String args[])
{
}
int i;
public boolean equals(Object o)//line1
{
Test t = (Test)o;//line2
if (t.i == this.i)//line3
return true;//line4
return false;//line5
}
public int hashCode() //line6
{
return i * 31;//line7
}
}
On the above program i have some queries:
1.What does it mean to declare (Object o) in line1
2.What does it mean to declare Test t = (Test)o; in line2
3.What does it mean to declare if (t.i == this.i) in line3
4.What does it mean to declare return true; in line4
5.What does it mean to declare return false; in line5
6.what is the need in this program to implement hashCode() method
7.What is the need of hashCode() method to return i*31;why in particular i*31 value is returned
i would be very thankful if i get the queries to be solved.
tx
carl