String不可变性的实例
作者:互联网
String对象一旦被创建就是固定不变的了,对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象
public class TestString1 {
String s = "abc";
public void change(String s){
System.out.println(s);//abc
s = "def";
System.out.println(s);//def
}
public static void main(String[] args) {
TestString1 testString1 = new TestString1();
testString1.change(testString1.s);
System.out.println(testString1.s);//abc
}
}
在这里,赋给形参的是堆内存的地址,而形参重新赋值是需要在堆内存中重新创建一个对象的,而这个对象只是形参重新指向的,并不会改变实参的指向,所以实参不会发生改变。从表现上来讲,String更像一个基础变量,形参改变,实参却不会改变。
标签:String,形参,System,testString1,实例,实参,可变性,out 来源: https://www.cnblogs.com/interstellar-xd/p/14401528.html