什么是可变对象?
可变对象: 属性值变化时不创建新的对象。简单来说:就是一个对象创建之后,可以对其对象进行修改,修改之后,
依旧指向同一个对象,
除了八大基本类型和包装类型以及String类外。其他的都属于可变基本类型。
例题:
List list = new ArrayList();
list.add("上河图");
list.add("青木瓜上河图");
list.add("清明上河图");
System.out.println(list);
List arrayList = new ArrayList();
arrayList = list;
arrayList.add("夕阳西下");
System.out.println(arrayList==list);
输出结果
list就属于可变对象,改变了属性值,但是没有重新创建一个新的对象,就说明指向的还是同一个对象。
什么是不可变对象?
不可变对象和可变对象恰好相反。不可变对象:属性值变化之后会创建一个新的对象。简单来说就是一个对象创建之后不能对其对象进行修改
不可变对象:八大基本类型,包装类型和string类
例题:
int a = 123;
int b = a;
b = 134;
System.out.println(a == b); //输出false
因为“int”属于八大基本类型,是不可变对象,就是不能对其对象进行修改,如果对其对象进行修改的话,就需要创建一个新的对象。
上面的例题中,对象b对其对象a进行了修改,所以不属于同一个对象了。
如有不对,欢迎指正,谢谢。