- 浅拷贝:拷贝指针
- 深拷贝:拷贝一份新的对象
void _test1() {
final model1 = _Model();
final model2 = _Model();
final model3 = _Model();
final array1 = [model1, model2, model3];
// 这个是浅拷贝,操作array1,array2也会变化
final array2 = array1;
array1.remove(model1);
print(array2.length); // 打印 2
}
void _test2() {
final model1 = _Model();
final model2 = _Model();
final model3 = _Model();
final array1 = [model1, model2, model3];
// 这个是深拷贝,操作array1,array2不变
final array2 = List.from(array1);
array1.remove(model1);
print(array2.length); // 打印 3
}
class _Model {}