如何在java中改变字符串中的值
String s = "Welcome!This is CS211 Course";
我想将"CS211"
改为"CS222"
所以s将永久= "Welcome!This is CS222 Course";
答案 0 :(得分:3)
String s = "Welcome!This is CS211 Course";
s = s.replace("CS211", "CS222");
在提问之前尝试使用谷歌。
答案 1 :(得分:3)
你做不到。字符串在Java中是不可变的。将它们视为存储在只读存储器中。 (如果JVM知道无法更改某些内容,JVM可以执行各种优化技巧。)
你可以做什么来创建另一个字符串并将其分配给引用s
:
s = s.replace("CS211", "CS222");
答案 2 :(得分:0)
String s2 = s.replace("CS211", "CS222");
答案 3 :(得分:0)
在Java中,String对象是不可变的。这意味着,一旦分配,其内容就无法更改。因此,要更改内容,您需要创建一个不同的字符串,可以引用相同的引用,但本质上是不同的。因此,可能的一个是:
s = "Welcome!This is CS222 Course";
其他可能性是调用replaceAll用于s并再次分配给s(已更改),如WidWing所建议
答案 4 :(得分:0)
这不是答案,我没有足够的代表评论......但是!
我可以建议http://docs.oracle.com/javase/tutorial/java/data/strings.html
这将有助于您了解基础知识和开始吧。
一切顺利。
答案 5 :(得分:0)
请记住String是Immutable。这意味着无法修改。当然有一些方法可以获得新的String。但是旧字符串根本不会被修改。
示例:
String s = "Welcome!This is CS211 Course";
String s2 = s;
s.replace("CS211", "CS222"); // Gets a new object but I do not save it at all
System.out.println(s); // This prints "Welcome!This is CS211 Course"
s=s.replace("CS211", "CS222"); // Now I replace the reference to s.
System.out.println(s); // This prints "Welcome!This is CS222 Course"
System.out.println(s2); // This prints "Welcome!This is CS211 Course". s2 reference has not changed.