dart - 将字符串转换为整数列表
问题描述
我有一个这样的字符串"1, 2, 3, 4, 5, 10, 23, 54"
我可以通过首先将其转换为字符串列表来做到这一点
List<String> list = str.split(",");
然后我必须循环列表并将其转换为 int。
是否可以在一行中将上述字符串转换为 List<int> ?
编辑1:
我试过
List<int> ints = "1,2,3".split(",").map((i) => int.parse(i));
但我得到 'MappedListIterable<String, int>' 不是 'List' 类型的子类型
编辑2:
我找到了解决方案。但我不是很清楚。
List<int> ints = "1,2,3".split(",").map((i) => int.parse(i)).toList();
这解决了问题。但是在 dart 中添加 toList() 和不添加 toList() 有什么区别?有人可以解释一下吗?
解决方案
使用 Map 方法时,它实际上返回一个 MappedIterable(在本例中为 MappedListIterable)(此文档的文档)实例而不是 List,因此您需要将其转换为一个列表实例。
这就是添加toList()起作用的原因,因为它实际上将 MappedListIterable 转换为 List。
List<int> ints = "1,2,3".split(",").map((i) => int.parse(i)).toList();
推荐阅读
- python - 从列表中绘制networkx图
- javascript - 如何使用javascript在不同的视图中显示检索的firabase数据
- android - 如何设置 YouTube API 的宽度和高度?
- rust - 如何在结构上存储元数据?
- python - 我怎么能从我的推特上得到一个数据框?
- java - 在 Java 中使用数组存储数据
- jquery - 基于自定义本地化错误消息asp core 3.1创建自定义jquery验证规则
- r - 尝试使用包 googlesheets4 将 R 连接到 Googlesheet 时出错:无法获取 Google 凭据
- c# - 使用 Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener 在 C# app.config 中的文件名中附加日期
- powerbi - 如何在 PowerBI 中构建自定义过滤器?