【发布时间】:2018-10-31 18:58:00
【问题描述】:
代码会解释一切:
//modal for list
class MyModal
{
int myField1;
List<MyModal> adjacentNodes;
MyModal(this.myField1)
{
adjacentNodes= new List<MyModal>();
}
}
//pre code
List<MyModal> originalList = new List<MyModal>();
originalList.add(new MyModal(1,"firstBuddy"));
//copying list
List<MyModal> secondList = new List<MyModal>();
secondList.addAll(originalList);
//Modifing copy list
secondList.adjacentNodes.add(new MyModal(2,"anotherBuddy"));
//Also modifies original list
print(originalList[0].childs.length); //prints 1, it should prints 0
如何在不影响原始列表的情况下对第二个列表进行更改?
【问题讨论】:
-
您希望在第二个列表中进行哪些更改?仅添加/删除或同时更改不应在原始列表中产生影响的
MyModal实例? -
instance 的成员字段更改为我在上面的代码中解释的。