基本数据类型和引用类型的赋值
- 对于引用类型的赋值:比如引用类型实例a给引用类型实例b赋值时会将实例a的拷贝地址赋值给b,此时两者指向堆中的同一个地址,此时我们对b进行更改属性值时,实际上操作的是同一块区域,因此a的属性值也会变化
public class DemoTest {
private Map<Integer,Integer> amap=new HashMap<>();
@Test
public void test1(){
Map<Integer, Integer> bmap = new HashMap<>();
bmap=amap;
bmap.put(1,10);
System.out.println(amap);
}
}
- 对于基本数据类型:赋值过程就是将a变量的拷贝值传递给另一个变量,所以此时变量b指向的是变量a的拷贝值,而不是变量a本身,所以在改变其中任何一方的值时都不会对另外一方造成影响。两者其实指向的是两块内存,因此互不影响
public class DemoTest {
private int i=18;
@Test
public void test1(){
int b=9;
b=i;
b=10;
System.out.println(i);
}
}