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.
What is your unexpected behaviour? compareTo(String string) in the String class behaves exactly like the equals(Object) method in the same class, the only difference being how it returns that these values are equal.