I got the following question in one certification excercise: public class test{ public static void amethod{ Byte b1 = new Byte("127"); if(b1.toString() == b1.toString()) System.out.println("True"); else System.out.println("False"); } } Answer choice: A) Compilation error, toString() is not avialable for Byte. B) Prints "True". C) Prints "False". The correct answer is c)Prints "False". Please hekp me understand why b1.toString() == b1.toString() is false? Thanks! Wai
In b1.toString() == b1.toString(), you are explicitly creating two new strings that are not on the string pool. Since they are different objects, the == fails.