dart - 我在使用 list.map 函数时遇到类型错误

标签 dart

在 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>'

这里可能出了什么问题?

最佳答案

List<int> squares = list.map((x) => x * x);

需要

List<int> squares = list.map((x) => x * x).toList();

map() 返回一个 Iterable,而不是 List

关于dart - 我在使用 list.map 函数时遇到类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54106654/

相关文章:

flutter - 无法在 VSCode 上热重载

generics - Dart 2 runtimeType 和具体化泛型 - Java Class<T> 等价物

flutter - Http Post 在 Postman 中工作,但在 Flutter 中没有

flutter 网页: get full screen size - not window size

dart - 如何按顺序处理异步代码

dart - 忽略小部件的自定义宽度/高度属性

flutter - Flutter中dio的全局配置(拦截器)

flutter - 状态管理和全局变量

python - 减少 Dart 中包装对象的数量

flutter - 如何通过 Flutter 发布到谷歌表单。响应总是 400(POSTMAN 的结果是 200 OK)