flutter 对象数组 深拷贝
时间: 2023-12-02 12:05:40 浏览: 233
vue 使用lodash实现对象数组深拷贝操作
在Flutter中,可以使用`List.from()`方法来进行对象数组的深拷贝。具体实现方法如下所示:
假设我们有一个`Person`类,它有两个属性:`name`和`age`。
```dart
class Person {
String name;
int age;
Person({required this.name, required this.age});
}
```
现在我们有一个`persons`数组,其中包含了多个`Person`对象。
```dart
List<Person> persons = [
Person(name: 'Tom', age: 18),
Person(name: 'Jerry', age: 20),
];
```
我们可以使用`List.from()`方法来对`persons`数组进行深拷贝,具体实现代码如下:
```dart
List<Person> copyPersons = List.from(persons);
```
这样,`copyPersons`数组就是`persons`数组的深拷贝了。如果我们修改`copyPersons`数组中的元素,`persons`数组不会受到影响。
```dart
copyPersons[0].name = 'Jack';
print(persons[0].name); // 输出:Tom
print(copyPersons[0].name); // 输出:Jack
```
阅读全文