• 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:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • 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