列表深拷贝
List arr = [1, 2, 3];
List newArr = List.from(arr);
newArr.add('4');
print(arr);
print(newArr);
// 输出:
// arr: [1, 2, 3]
// newArr: [1, 2, 3, 4]
字典深拷贝
Map obj = {
'name': 'jack',
'age': 18
};
Map newObj = Map.from(map);
newObj['gender'] = 1;
print(obj);
print(newObj);
// 输出:
// obj: {'name': 'jack','age': 18}
// newObj: {'name': 'jack','age': 18, 'gender': 1}
嵌套深拷贝
List arr = [{
'name': 'rose',
'age': 20,
}, {
'name': 'bense',
'age': 19
}];
List newArr = arr.map((v) => Map.from(v)).toList();
newArr[0]['gender'] = 1;
print(arr);
print(newArr);
// 输出:
// arr: {'name': 'rose','age': 20,}, {'name': 'bense','age': 19}
// newArr: {'name': 'rose','age': 20, 'gender': 1}, {'name': 'bense','age': 19}