對象是引用類型的,所以如果妳把壹個對象賦值給另壹個變量,它實際上只是把內存地址賦值了。
也就是說,如果妳的對象都是同壹地址,那麽改變該地址的值,另外壹個同地址的對象也會改變。
比如
List a = new ArrayList(); a.add("a");List b=a;b.add("b");System.out.println(a);//output:[a,b]
這裏邊的a、b就是同壹地址;
但是有賦值的則不會如此:
String a="a";
String b=a;
b="b";
System.out.println(a);//output:a
這裏邊b的引用雖然指向了a但是後來的賦值讓它指向了新的地址,改變的不是原來地址的值;所以a沒有改變。