Java Practices -> Implementing equals
All objects have both identity (the object's location in memory) and state (the object's data). The == operator always compares identity. The default implementation of equals compares identity as well. Sometimes the default implementation of equals has th...