如何在java中更改字符串中的值?

时间:2014-10-17 08:41:36

标签: java string

如何在java中改变字符串中的值

 String s = "Welcome!This is CS211 Course";

我想将"CS211"改为"CS222"

所以s将永久= "Welcome!This is CS222 Course";

6 个答案:

答案 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.