我有一个字符串:
String c = "IceCream";
Run Code Online (Sandbox Code Playgroud)
如果我使用toUpperCase()函数然后它返回相同的字符串,但我想得到"ICECREAM".
问题出在哪儿?
And*_*and 32
代码
String c = "IceCream";
String upper = c.toUpperCase();
System.out.println(upper);
Run Code Online (Sandbox Code Playgroud)
正确打印"ICECREAM".但是,原始字符串c不会更改.Java中的字符串是不可变的,因此字符串上的所有操作都返回一个新副本.
sme*_*ola 12
您是否期望原始变量c被更改toUpperCase()?字符串是不可改变的; .toUpperCase()返回新字符串等方法,保留原始未修改的字符串:
String c = "IceCream";
String d = c.toUpperCase();
System.out.println(c); // prints IceCream
System.out.println(d); // prints ICECREAM
Run Code Online (Sandbox Code Playgroud)
该对象无法更改,因为它String是不可变的.但是,您可以将引用指向新实例,该实例全部为大写:
String c = "IceCream";
c = c.toUpperCase();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52459 次 |
| 最近记录: |