在DartPad中运行以下代码时遇到类型错误。
void main() {
List<int> list = [10, 20, 30];
List<int> squares = list.map((x) => x * x);
squares.forEach((x) => print(x));
}
出现以下错误
Uncaught exception:
TypeError: Instance of 'MappedListIterable<int, int>':
type 'MappedListIterable<int, int>' is not a subtype of
type 'List<int>'
这有什么问题吗?
答案 0 :(得分:1)
List<int> squares = list.map((x) => x * x);
必须是
List<int> squares = list.map((x) => x * x).toList();
map()
返回Iterable
,而不是List