Flutter 转换列表子类型

Posted

技术标签:

【中文标题】Flutter 转换列表子类型【英文标题】:Flutter Convert List subtype 【发布时间】:2020-10-03 08:17:31 【问题描述】:

我想将子类型列表转换为另一个子类型,我该怎么做?

List<type1> someList = new List<type1>();

我想将此列表转换为

List<type2> someList = new List<type2>();

我的两个模型都有相同的字符串,这可能吗?我试试这个

 List<type2> tList = new List();
 for (int i = 0; i < snapshot.data.length; i++) 
     tList.add(snapshot.data[i]);
 

错误:

type 'type1' is not a subtype of type 'type2'

【问题讨论】:

这能回答你的问题吗? Getting type 'List<dynamic>' is not a subtype of type 'List<...>' error in JSON 【参考方案1】:
final someList = <TypeA>[];
final convertedList = List<TypeB>.from(someList);

一个简单的例子是:

final numList = <num>[1, 2];
final intList = List<int>.from(numList);

如果您的num 包含double,您可能会遇到错误,在这种情况下,您可以使用map

final numList = <num>[1, 2.0];
final intList = numList.map((e) => e.toInt()).toList();

【讨论】:

对不起它不只是列表..它的动态列表 然后检查this

以上是关于Flutter 转换列表子类型的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 如何将地图从互联网 API 转换为列表?

Flutter:类型“bool”不是类型转换中“RxBool”类型的子类型

Flutter [错误:flutter/lib/ui/ui_dart_state.cc(177)] 未处理的异常:类型“int”不是类型转换中“String”类型的子类型

如何使用flutter bloc模式通过分页加载数据列表?

Flutter Api 响应列表动态不是未来的子类型

Flutter 在 ListView 返回类型 String 中显示嵌套 json 不是类型转换中类型“Map<String, dynamic>”的子类型