9.2 字符串是不可修改的
字符串提供了方法 toUpperCase 和 toLowerCase,它们可分别转换为大写和小写。这些方法常常令人迷惑,因为它们好像修改了字符串,但实际上,这些方法以及其他字符串操作方法都不能修改字符串,因为字符串是不可修改的(immutable)。
对字符串调用 toUpperCase 将生成并返回一个新的字符串对象。请看下面的示例:
String name = "Alan Turing";String upperName = name.toUpperCase();
这些语句执行后,upperName 将指向字符串 "ALAN TURING",但 name 依然指向字符串 "Alan Turing"。
另一个很有用的方法是 replace,它在字符串中查找并替换指定的子串。例如,下面的代码将 "Computer Science" 替换为 "CS":
String text = "Computer Science is fun!";text = text.replace("Computer Science", "CS");
这个示例演示了使用字符串方法的一种常见方式。它调用 text.replace,然后 text.replace 方法返回一个引用,该引用指向新字符串 "CS is fun!"。接下来,它将这个引用赋给变量 text,使其不再指向原来的字符串。
这个赋值操作很重要;如果不保存返回的值,调用 text.replace 将不会有任何影响。
