使用.toLowerCase打印属性

时间:2013-12-20 05:44:25

标签: java

提供以下代码。

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

我的问题是关于打印结果不是“hello world”的原因

是因为第二行真的没有做任何事吗? 是否正确的语法(给定第一行):

System.out.println(myString.toLowerCase);

7 个答案:

答案 0 :(得分: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.

答案 1 :(得分: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

答案 2 :(得分:0)

将您的代码更改为以下以获得预期的结果

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

toLowerCase()的返回类型为String,其中包含小写String。你应该从该方法中获取返回结果。因为String是不可变的,myString.toLowerCase()将返回一个小写的新String。

答案 3 :(得分:0)

试试这个

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

String.toLowerCase()返回小写字符串,它不会更改参数

答案 4 :(得分:0)

String变量为immutable,即您无法更改对象本身,但您可以更改参考资料。

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

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

答案 5 :(得分:0)

由于String在Java中是不可变的,myString.toLowerCase()不会更改myString中的任何内容,只会返回new String,其中所有字符均为myString已转换使用默认语言环境的规则来小写。如果你明确地将它分配给引用变量,如下所示,它将引用“hello world”对象。

myString = myString.toLowerCase();

答案 6 :(得分:0)

在Java中,java.lang.String是一个不可变对象(一旦创建就无法更改)

尝试这种方式

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