2013-12-20 66 views
1

给出以下代码。使用.toLowerCase打印属性

String myString = "Hello World"; 
myString.toLowerCase(); 
System.out.println(myString); 

什么,我的问题就认为是打印的结果是不是这个原因的“hello world”

是因为第二行并没有真正做什么? 会正确的语法是(给定的第一行):

System.out.println(myString.toLowerCase); 

回答

2

字符串在Java

myString =myString.toLowerCase(); 

你必须分配给取回结果不变。

String myString = "Hello World"; // your String 
myString.toLowerCase();  // returning new String 
System.out.println(myString); // Still your old String 

所以,

myString =myString.toLowerCase();// myString is now returned value. 
0

更改您的代码下面进入正有望走出放

String myString = "Hello World"; 
    myString=myString.toLowerCase(); 
    System.out.println(myString); 

toLowerCase()返回类型为String和包含小写String。你应该从该方法中得到返回结果。由于字符串是不可变的,并且myString.toLowerCase()将以小写字母返回新的字符串女巫。

0

试试这个

System.out.println(myString.toLowerCase()); 

String.toLowerCase()返回小写字符串,它不会改变的说法

1

String是Java不变。这就是为什么您需要重新将由toLowerCase()方法返回的更改值重新分配给myString变量。

String myString = "Hello World"; 
myString = myString.toLowerCase(); // re-assigning the changed value to myString 
System.out.println(myString); // printing the new value 
0

String变量immutable即你不能改变物体本身,但你可以ofcourse更改参考。

尝试这种方式,将打印newely分配的值

String myString = "Hello World"; 
myString = myString.toLowerCase(); 
System.out.println(myString); 
0

由于String是Java不变,该myString.toLowerCase()不会myString改变什么,但只返回一个new StringmyString所有字符转换为小写使用默认区域设置的规则。如果您将其明确地分配给引用变量,如下所示,它将引用“hello world”对象。

myString = myString.toLowerCase(); 
0

在Java中,java.lang.String中是不可变对象(一旦它建立就不能更改)

试试这个方法,而不是

String myString = "Hello World"; 
myString = myString.toLowerCase(); 
System.out.println(myString);