在我意识到我们可以在java中连接字符串之前,我从未质疑字符串是不可变的这一事实。例如:
String character = "ha";
String otherString = "Alo";
otherString=otherString+character;
System.out.println(otherString);
这将有效。所以我们修改了名为" otherString"的字符串。我不明白字符串不可变的含义究竟是什么意思?
感谢您的帮助!
答案 0 :(得分:0)
似乎正在修改字符串,但实际上正在生成一个新字符串。来自来源(http://docs.oracle.com/javase/tutorial/java/data/strings.html):
注意: String类是不可变的,因此一旦创建,就无法更改String对象。 String类有许多方法,其中一些将在下面讨论,它们似乎可以修改字符串。 由于字符串是不可变的,这些方法实际上做的是创建并返回一个包含操作结果的新字符串。