This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
My task is to
1. Instantiate an object(a) 2. declare an other of the same class(b) 3. clone the object in step 1 to step 2(b=a.clone()) 4. check if a and b are equal(a== b and a.equals(b)) 5 Declare a hashset and add both a and b to the hashset.
Now my issues are as below
1. For Code 1 below HashSet is showing 1 as the count
2. For Code 2 below HashSet is showing 2 as the count.
You probably want to make the second assignment like y = b.hashcode(); Anyways, if you want your objects to behave properly when put into HashSets then you need to properly override the equals() and hashCode() methods. See this journal article for details: http://www.javaranch.com/journal/2002/10/equalhash.html