Java字符串未转换为小写
为什么字符串Java字符串未转换为小写,java,string,Java,String,为什么字符串s转换成小写后会打印“Hello,World” public class Practice { public static void main(String[] args){ String s = "Hello, World"; s.toLowerCase(); System.out.println(s); } } Strings是不可变的。您需要将String#toLowerCase的结果重新分配给变量: s = s
s
转换成小写后会打印“Hello,World”
public class Practice {
public static void main(String[] args){
String s = "Hello, World";
s.toLowerCase();
System.out.println(s);
}
}
String
s是不可变的。您需要将String#toLowerCase
的结果重新分配给变量:
s = s.toLowerCase();
字符串在Java中是一种特殊的对象。Java开发人员故意将它们创建为不可变的(出于各种安全和性能原因) 这意味着,当您认为您更改了字符串对象的状态时,实际上会创建一个新的字符串对象(而之前的字符串对象并没有真正更改) 因此,要使代码正常工作,必须将方法的结果分配给某个字符串:
s = s.toLowerCase();
更改字符串对象的状态时,此措辞是错误的。因为它是不可变的,所以不能更改它的状态。任何涉及更改对象状态的操作都将创建一个具有新状态的新对象,而旧对象的状态将保持不变。@LuiggiMendoza我在编写它时正在考虑它(是否会混淆)。看起来确实如此。修好了,谢谢!