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.
ab = a + b; System.out.println(ab == "ab"); System.out.println(ab == ab); System.out.println((a+b) == ab); } }
false true false
I understand why the first and second output are as they are, but why the third one is false? What is the difference between the objects of ab and (a + b)? Please someone explain. I read about String on sites but I don`t still get it.
well (a+b) is adding the two stings objects and passing it in a constructor of a new string and such that a new string object is created which is not equal to the former, remember strings are immutable, but if they were in the pool it will be different