为什么我可以在必须是可迭代对象的地方添加一个 List 作为参数?
Why I can add a List as an argument in where it must be an iterable object?
我有这个代码
var list = ['arg1=val1', 'arg2=val2', 'arg3=val3'];
var nlist = new List();
list.forEach( (e) {
nlist.addAll(e.split('='));
});
print(nlist);
addAll
需要一个参数是 Iterable
。但在这种情况下,e.split()
return List
,而不是 Iterable
。
那么为什么我可以这样做?
List
实现了 Iterable
,因此是一个 Iterable
(请参阅标题下方的 https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart:core.List)
我有这个代码
var list = ['arg1=val1', 'arg2=val2', 'arg3=val3'];
var nlist = new List();
list.forEach( (e) {
nlist.addAll(e.split('='));
});
print(nlist);
addAll
需要一个参数是 Iterable
。但在这种情况下,e.split()
return List
,而不是 Iterable
。
那么为什么我可以这样做?
List
实现了 Iterable
,因此是一个 Iterable
(请参阅标题下方的 https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart:core.List)