.equals would do what you're expecting == to do in this case.
== compares memory locations. It's like having two cars that are exactly the same type and model, but sitting in different parking spots. From a .equals perspective they are the same, but they are actually different physical cars, in two different parking spots, so == says they are different. That's sorta the difference between comparing for similarity with .equals and comparing actual locations in memory where two seeming different objects might be stored.
Check out
this mock exam on .equals, = and ==. Click the "Begin Exam" button and ignore the clutter on the initial page. :P If you click and drag where it says "Don't Click and Drag" you'll see some pretty detailed answers that will really help you understand the concepts.
Practice Java Exam on .equals and == with Answers
Good luck on your
SCJP Sun
Java Certifications!
-Cameron McKenzie