| 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
Bartender
Joined: Aug 16, 2005
Posts: 12929
|
|
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
|
 |
 |
|
|
subject: doubt about String being cannt be changed !!!
|
|
|