File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes doubt about String being cannt be changed !!! 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 "doubt about String being cannt be changed !!!" Watch "doubt about String being cannt be changed !!!" New topic

doubt about String being cannt be changed !!!

ansuman mohapatra

Joined: Mar 04, 2008
Posts: 27
You have created two strings containing names. Thus

String fname="John";
String lname="String"

How can you go about changing these strings to take new values within the same block of code?

String fname=new String("Fred");
String lname=new String("Jones");

StringBuffer fname=new StringBuffer(fname);
StringBuffer lname=new StringBuffer(lname);

4) None of the above

I think the answer will be first one. Since once string is created we can change its value. I have checked it in eclipse.

But I got the answer as 4 none of the above since string cant be changed once created or assigned a value.

Please clarify

Cleared SCJP.....
gobburi saikrishna
Ranch Hand

Joined: Jan 21, 2008
Posts: 52
Yes answer is 4, because String are immutable, we can't change Strings,
but we can change StringBuffer And StringBuilder which are Mutable
ansuman mohapatra

Joined: Mar 04, 2008
Posts: 27
thats what im trying to say. I have tried changing the value of the string.

String s = "Hello";
s = "Hello2";

Output came as

Tried that in eclipse. Please clarify.
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14074

You are not changing the value of the String object, you are only making the variable s refer to another String object.

In Java, variables are not objects themselves - they are only references to objects that are stored on the heap. For more information on how variables work in Java, see this JavaRanch Campfire story: Cup Size -- a story about variables

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:
subject: doubt about String being cannt be changed !!!
Similar Threads
immutability of strings
Help with writing data into a file
Stringbuffer vs. String
String Immutable