File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

doubt about String being cannt be changed !!!

 
ansuman mohapatra
Greenhorn
Posts: 27
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
gobburi saikrishna
Ranch Hand
Posts: 52
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 27
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Pie
Posts: 15150
31
Android IntelliJ IDE Java Scala Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Don't get me started about those stupid light bulbs.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic