wood burning stoves 2.0*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Strings Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Strings" Watch "Strings" New topic
Author

Strings

Rohan Pujari
Greenhorn

Joined: Feb 27, 2007
Posts: 24


In this particular code in the Kathy Sierra book it is give that eight objects in total are created but any opertaion on strings results in a new String. So in the system.out.print statement shouldn't there be two more objects created 1 which is s1+""(and soon to be lost) and then the final string object that is springwinterspringsummer(that too i guess will be lost) . Please let me know about this.
Chandra Bhatt
Ranch Hand

Joined: Feb 28, 2007
Posts: 1707
Hi Roohan,




1- "spring" (later on lost)
2- "springsummer " (s2 has reference of)
3- "fall " (lost, created when the compiler finds the String literal)
4- "springfall " (lost)
5- "springsummer spring" (lost)
6- "winter" (lost, created when the compiler finds the String literal)
7- "fallwinter" (s1 has reference of )
8- "springwinterspringsummer " (no reference lost)

Hope this helps you
Thanks and Regards,
cmbhatt


cmbhatt
Srinivasan thoyyeti
Ranch Hand

Joined: Feb 15, 2007
Posts: 557
Hi Roohan,
------------------------
String s1 = "spring";
String s2 = s1+"summer " ;
s1.concat("fall ");
s2.concat(s1);
s1+="winter";
System.out.println(s1+" "+s2)
-----------------------------
Here is what expect ...i am not considering lost or not(bec'ze its Gc issue). just how many objects created i am figuring out.

1. String s1 = "spring";
"spring" -- in pool(1)
2. String s2 = s1+"summer " ;
"summer" in pool (1)
"springsummer" in heap and pool(2)
3. s1.concat("fall ");
"fall" in pool(1)
"springfall " in heap and pool(2)
4. s2.concat(s1);
"springsummerspringfall " in heap and pool(2)
5. s1+="winter";
"winter" in pool(1)
"springfall winter" in heap and pool(2)

I found 12 Objects created both in heap and pool.
and total Strings combinations are 8.


Thanks & Regards, T.Srinivasan
SCWCD 1.4(89%), SCJP 5.0(75%)
 
Consider Paul's rocket mass heater.
 
subject: Strings
 
Similar Threads
How many String objects are created.
Strings
how many String objects are created
string function problem
Q on String: how many objects are created?