This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
When you use the == operator to compare two objects, then Java only returns true if the two operands refer to the exact same object. In this line:
if(b1.toString() == b1.toString())
You are comparing two strings, which are objects, using the == operator. This will only return true if the two strings are the exact same object - it will return false otherwise, even if the two strings contain the same text.
If you want to compare two objects by the content, you should use the equals() method instead of ==:
if(b1.toString().equals(b1.toString())) [ March 04, 2008: Message edited by: Jesper Young ]