What will be result of following code and why<br /> <br /> Integer int1 = 1;<br /> Integer int2 = 1;<br /> String str1 = new String("str");<br /> String str2 = new String("str");<br /> String str3 = "str";<br /> String str4 = "str";<br /> <br />       <br /> System.out.println(int1 == int2); <br /> System.out.println(str1 == str2);<br /> System.out.println(str3 == str4);

Search Interview Questions

 More than 3000 questions in repository.
 There are more than 900 unanswered questions.
Click here and help us by providing the answer.
 Have a video suggestion.
Click Correct / Improve and please let us know.
Label / Company      Label / Company / Text


Interview Questions and Answers

 Q1. What will be result of following code and why

Integer int1 = 1;
Integer int2 = 1;
String str1 = new String("str");
String str2 = new String("str");
String str3 = "str";
String str4 = "str";

System.out.println(int1 == int2);
System.out.println(str1 == str2);
System.out.println(str3 == str4);
Core Java
Ans. true

Just like Strings, java maintains an integer constant pool too. So 1 will be maintained in integer constant pool and hence reference int2 will point to same integer in pool.

String pool is only for string literals ( defined by "" ) and not for newly created objects and hence str1 == str2 will return false as they are separate objects in memory.

String pool is used for storing string literals so that they can be reused and str3 and str4 will point to same string literal in string pool.

 Help us improve. Please let us know the company, where you were asked this question :   

   Like         Discuss         Correct / Improve     string pool  integer constant pool  string comparison  integer comparison

Related Questions

  Why Char array is preferred over String for storing password?
  What are different ways to create String Object? Explain.
  What is a String Pool ?
 How does making string as immutable helps with securing information ? How does String Pool pose a security threat ?
 Which memory segment holds String Pool in Java ?
 How and Why Strings are interned in Java ?
 What will be the output of following code

Integer x = 1;
Integer y = 2;
System.out.println(x == y);

What if you change 1 to "1" and Integer to String?
 What is the purpose of String Pool ? Don't you think it's a performance overhead to have unnecessary check for string in string pool ?
 Why string pool concept has been introduced in string ?

Help us and Others Improve. Please let us know the questions asked in any of your previous interview.

Any input from you will be highly appreciated and It will unlock the application for 10 more requests.

Company Name:
Questions Asked: