String data = new String("Turtle");
data = data + 's' ;
Yes.
The last statement constructs a new String,
that contains the characters "Turtles",
and places a reference to the new String in the
reference variable data.
String Objects are Immutable
String objects are immutable
which means that
once a String has been constructed,
it never can be changed.
This has many advantages in making programs understandable
and reliable.
For example, if a method has a reference to a String, that
String will always contain the same characters, no matter
what other methods are called and what they do.
For this reason, a program that does only a moderate amount
of character manipulation should do it all using
class String.
Examine the following program:
public class Immutable
{
public static void mysteryMethod( String data )
{
. . . .
}
public static void main ( String[] args )
{
String str = "An Immutable String" ;
mysteryMethod( str );
System.out.println( str );
}
}
What does the main() method of this program print out?