• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

String Question

 
Wai Iu
Ranch Hand
Posts: 39
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Anonymous
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic