File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Java in General and the fly likes Difference between String Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Difference between String " Watch "Difference between String " New topic
Author

Difference between String

Rajendra Prakash
Ranch Hand

Joined: Sep 10, 2009
Posts: 293
I need the difference between string s="abc" and string s=new string("abc");
How many objects created for both .
The following i got from google , is it correct.


String s "abc"; is the simple case it will create one string object and one reference variable. "abc" will go into the pool and s will refer to it...

String s new String("abc"); it will create two objects and one reference variable.
java will create a new string object in the nonpool memory s will refer to it. the literal "abc" will be placed in the pool.
Mohamed Sanaulla
Saloon Keeper

Joined: Sep 08, 2007
Posts: 3056
    
  33

This was discussed recently and many times before. And what you have found is correct.


Mohamed Sanaulla | My Blog
Rajendra Prakash
Ranch Hand

Joined: Sep 10, 2009
Posts: 293
can you say where string pool is located , inside heap memory or some where else
Siddhesh Deodhar
Ranch Hand

Joined: Mar 05, 2009
Posts: 117
If you want to really confirm the answer, you can put statements
string s="abc" and string s=new string("abc"); in main function of say Test.java and deassemble the code using command
javap -c Test. It will show you the details.


Good, Better, Best, Don't take rest until, Good becomes Better, and Better becomes Best.
Sidd : (SCJP 6 [90%] )
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 13881
    
  10

This is a frequently asked question - have a look at this post where I listed links to previous discussions of the same question.


Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 7 API documentation
Scala Notes - My blog about Scala
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Difference between String
 
Similar Threads
when will == return true for Strings
Object Create
creating new Strings(from K&B)
Question to Kathy - from your book
== operator returns true for Strings