如何解决如果在波动中listA = listB,如何防止元素不从listB中删除和从listA中删除?
在flutter中,我有两个列表,代码如下。 我从ListA中删除了一个元素,但也从ListB中删除了它,为什么会发生??
List<String> listA,listB=["b1","b2"];
listA=listB;
print("listA:"+listA.toString()+" listB:"+listB.toString());
listA.remove("b1");
print("listA:"+listA.toString()+" listB:"+listB.toString());
这给出的输出为
2020-08-25 21:04:49.788 11243-11552/app.example I/flutter: listA:[b1,b2] listB:[b1,b2]
2020-08-25 21:04:49.788 11243-11552/app.example I/flutter: listA:[b2] listB:[b2]
如何仅从ListA而不是ListB删除元素?
解决方法
要单独编辑2个列表,您需要2个列表。
的输出
main() {
List<String> listA,listB=["b1","b2"];
listA=listB.toList();
print("listA:"+listA.toString()+" listB:"+listB.toString());
listA.remove("b1");
print("listA:"+listA.toString()+" listB:"+listB.toString());
}
是
listA:[b1,b2] listB:[b1,b2]
listA:[b2] listB:[b1,b2]
,
您没有两个列表开头。您只有一个列表。您有两个引用该列表的变量。
如果要有两个列表,则需要创建一个 new 。所以这个:
getProcessPercentCPU("Google Chrome")
on getProcessPercentCPU(someProcess)
set i to 0
set test to 0
repeat while test < 50
set test to ¬
(do shell script "ps -xco %cpu,command | awk '/" & someProcess & "$/ {print $1}'") ¬
as integer
delay 2
set i to i + 1
if i ≥ 10 then exit repeat
end repeat
display dialog test
end getProcessPercentCPU
需要成为
listA=listB;
或者因为您可以省略listA = new List.from(listB);
关键字:
new
那么您实际上有两个列表,从一个列表中删除不会修改另一个列表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。