aspose file tools*
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 The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript 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
Author

doubt about String being cannt be changed !!!

ansuman mohapatra
Greenhorn

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?

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

3)
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
Greenhorn

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

String s = "Hello";
System.out.println(s);
s = "Hello2";
System.out.println(s);

Output came as
Hello
Hello2

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

Joined: Aug 16, 2005
Posts: 14114
    
  16

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: http://aspose.com/file-tools
 
subject: doubt about String being cannt be changed !!!