Flutter 如何转换列表<;动态>;列出<;对象>;飘飘然

Flutter 如何转换列表<;动态>;列出<;对象>;飘飘然,flutter,Flutter,我列出了两个列表,一个是动物列表,另一个是动物列表 static List<Animal> _animals = [ Animal( name: "Tiger"), Animal(name: "Lion"), Animal( name: "Panda"), Animal( name: "Anaconda"),]; List<Animal> _selecte

我列出了两个列表,一个是动物列表,另一个是动物列表

static List<Animal> _animals = [
    Animal( name: "Tiger"),
    Animal(name: "Lion"),
    Animal( name: "Panda"),
    Animal( name: "Anaconda"),];

  List<Animal> _selectedAnimals2 = [];
静态列表\u动物=[
动物(名称:“老虎”),
动物(名称:“狮子”),
动物(名称:“熊猫”),
动物(名称:“水蟒”),];
列表_selectedAnimals2=[];
然后我制作了一个多选表,用户可以在其中选择他最喜欢的动物 在用户确认/或选择后,所选值存储在名为“值”的动态列表中,并从列表值存储到另一个列表中_selectedAnimals2,但我收到一个错误,如下所述:

类型“List”不是类型“List”的子类型

MultiSelectBottomSheetField(
                         initialChildSize: 0.4,
                         listType: MultiSelectListType.CHIP,
                         searchable: true,
                         buttonText: Text("Favorite Animals",style: GoogleFonts.montserrat(color: Colors.white),),
                         title: Text("Animals"),
                         items: _items,
                         onConfirm: (values) {
                            _selectedAnimals2=values;
                            final List<String> choose=_selectedAnimals2.map((Animal animal) => animal.name).toList();
                           saveUserInfoToFireStore(choose);
                         },
多选字段(
initialChildSize:0.4,
listType:MultiSelectListType.CHIP,
可搜索:正确,
buttonText:Text(“最喜欢的动物”,样式:GoogleFonts.montserrat(颜色:Colors.white)),
标题:文本(“动物”),
项目:_项目,
onConfirm:(值){
_selectedAnimals2=数值;
最终列表choose=\u selectedAnimals2.map((动物)=>Animal.name.toList();
saveUserInfoToFireStore(选择);
},

如果你的_项是字符串列表,你可以试试这个

_selectedAnimals2 = values.map((val) => Animal( name: val)).toList()

如果要将列表动态转换为其类型,可以使用方法
cast()

List-sample=[“test1”、“test2”];///动态列表
List stringList=[];///字符串列表
///铸造用
stringList=sample.cast();
类似地,我们可以转换出列表

List<CustomModel> list = dynamicList.cast<CustomModel>();
List List=dynamicList.cast();
List<CustomModel> list = dynamicList.cast<CustomModel>();