This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line! See this thread for details.
Java offers other classes that let you really alter the contents of a String. That is the case of java.lang.StringBuffer and since JDK 1.5 there is also java.lang.StringBuilder, which is an unsynchronized, enhanded version of this latter.
I hope this helps! [ December 16, 2006: Message edited by: Edwin Dalorzo ]
It will print "Hello", not only "H". Because the String object made in the first line and reference by s is "Hello" and will never change.
If the second line was s = s.substring (0,1); the object from the first line also would not be changed. Instead a new string object would be created:"H" and the variable s would refer it. It would just print "H".
The reason why Strings is the String pool. If later in the program a String "Hello" would be used again, no new object would be created. Just the new variable would point to the already existing "Hello" object in the String pool to save resources. This pooling would not be possible, if Strings were not immutable.
all events occur in real time
subject: Using Strings we can't Modify the content,Explain it