The Object#equals(java.lang.Object) method looks something like this:Overloading the equals method is almost always a serious mistake.
You can override the equals method to take any sort of comparison you like. It is often necessary to override equals, but look in books like Bloch or google for Angelika Langer Java equals where you will find how careful you must be about it.

I'm not completely sure if this is the question you're asking, but it might be worth pointing out that when you compare two objects using the == operator, you are testing whether the two values refer to the same object. As Campbell pointed out, the "default" equals() method in the Object class does the same thing.

On the other hand, String and most other Java core classes define the equals() method so that it compares the actual values of objects. If you want equals() to do this for your user-defined classes, you have to override the equals() method in Object. As Campbell mentioned, getting that override correct might not be a trivial task.