• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • Ron McLeod
  • Junilu Lacar
  • Liutauras Vilda
Sheriffs:
  • Paul Clapham
  • Jeanne Boyarsky
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Piet Souris
  • Carey Brown
Bartenders:
  • Jesse Duncan
  • Frits Walraven
  • Mikalai Zaikin

String question

 
Ranch Hand
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
What will be the output of following program?
public class Str{
String s1 = "abc";
String s2 = "abc";
String s3 = "abcabc";
String s4 = new String("abcabc").intern() ;

Str(){
System.out.println(s1 == s2);
System.out.println(s3 == s4);
}

public static void main(String args[]){
Str str = new Str();
}
}
1. true
false
2. false
false
3. true
true
4. false
true
5. compiler error
 
Ranch Hand
Posts: 61
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Ali :
The output will be
3) true
true
and yes, I have checked it.
This is because when you call intern() on s4 , you are basically putting s4 in the string pool.
Hope it helps.
 
reply
    Bookmark Topic Watch Topic
  • New Topic