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.
When you compare two objects in Java and you use the == such as a == b Java will look at the ADDRESS that is in a and the ADDRESS that is in B and see if they are the same. This is very valid if you want to see if both a and b point to the exact same object. However if you want to see if the object pointed at by a and the object pointed at by b have 2 objects which are exactly ALIKE then you need to use equals(). Be carefull though because the Object class method "equals()" just uses the == comparison and not all classes override that method to privide meaningfull equals() methods. (Note: the situation above also explains why there are clone() methods instead of just saying a = b which would just give you two variables containing the address of one object). [This message has been edited by Cindy Glass (edited December 11, 2000).]
"JavaRanch, where the deer and the Certified play" - David O'Meara