我有一个List<String> stringValues;,实际上是用引号括起来的数字.我想把这张单子换成List<int> intValues张.做这件事最优雅的方式是什么?

list.forEach()个不返回任何内容,有iterable.expand()个返回每个元素的可迭代数,有iterable.fold()个只返回整个列表的一个元素.我找不到允许我通过闭包传递每个元素并返回具有闭包返回值的另一个列表的内容.

推荐答案

使用map()toList()来完成此操作.toList()是必需的,因为map()只返回Iterable:

stringValues.map((val) => int.parse(val)).toList()

或更短(感谢@AlexandreArdhuin)

stringValues.map(int.parse).toList()

Dartpad example

Dart相关问答推荐

什么相当于 dart 中的 JAVA ThreadLocal?

dart 中的 Function() 和 Function 有什么区别?

日期时间时区反序列化

flutter pub run build_runner 卡住了

Flutter - 在 null 上调用了 getter 'length'

Dart 包 - 如何隐藏内部方法和类?

Flutter:将照片或图像显示为模态弹出窗口

Flutter web url 导航

如何在 GridView (Flutter) 中进行分页

如何使 FadeInImage 循环?

Firebase 手机身份验证Flutter crash崩溃

如何突出显示所选卡片的边框?

Dart 构造函数与静态方法;例如,为什么 int.parse() 不是工厂构造函数?

如何从 JavaScript 调用 Dart 函数

对象的默认stringify,相当于Java的toString?

Dart 工厂构造函数 - 它与const构造函数有何不同

可以在 Dart 中的抽象类中声明静态方法吗?

如何在 Dart 中扁平化map列表?

Dart 语言中的 Console.log

extends与 implements与 with