JAVA基础——不可变的String
String对象是不可变的,查看JDK文档可以发现String类被final修饰。

String类中很多方法看似会修改String的值,实际上是创建了一个全新的String对象,而最初的String对象是没有改变的。以String的replace()方法为例:
public class StringTest { public static void main(String[] args){ String str = "小许大世界"; System.out.println(str); //小许大世界 String newStr = str.replace("小许","xiaoxu"); System.out.println(newStr); //xiaoxu大世界 System.out.println(str); //小许大世界 } }
/*output:
小许大世界
xiaoxu大世界
小许大世界
*/
从输出结果可以看出来,str调用了replace()方法,但是其自身的值并没有改变,replace()方法只是返回来一个新的String对象。

浙公网安备 33010602011771号