gpt4 book ai didi

dart - 如何将array.map()。toList转换为通用类型?

转载 作者:行者123 更新时间:2023-12-03 03:22:17 26 4
gpt4 key购买 nike

我在dart中有以下代码:

List<Post> posts = postsData.map((post) =>
Post(
id: post['id'],
message: post['message']
).toList();

它在数组上运行 map,并返回类型为 Post的数组。但是当执行上面的代码时,我得到了这个错误 _TypeError (type 'List<dynamic>' is not a subtype of type 'List<Post>')
我可以通过添加 List<Post>.from来解决此问题,如下所示:
List<Post> posts = List<Post>.from(postsData.map((post) =>
Post(
id: post['id'],
message: post['message']
).toList());

我想知道这是正确的方法吗?为什么 toList对于通用类型 Post不起作用?为什么即使我在 List<dynamic>循环内返回 Post,也说 map

最佳答案

我没有得到_TypeError很奇怪。

您可以尝试在.map<Post>上指定通用类型

List<Post> posts = postsData.map<Post>((post) =>
Post(
id: post['id'],
message: post['message']
)).toList();

关于dart - 如何将array.map()。toList转换为通用类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61837074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com