gpt4 book ai didi

flutter - 如何在Dart中将不同类型的项目添加到动态 map 中的列表中

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

可以说我有一张 map :

Map map1 = {'a': ['x']};

当我尝试将 int项目添加到 map 内的列表时-

map1['a'].insert(1, 77);

引发错误:
type 'int' is not a subtype of type 'String' of 'element'

我该如何解决?

有趣的是,如果从 JSON生成了相同的 map -上述操作将成功:

String json = '{"a": ["x"]}';
Map map2 = jsonDecode(json);

map2['a'].insert(1, 77);

// {a: [x, 77]}

编辑:
定义严格的 map 类型(达到List的类型)不是一种选择,因为它可能是长嵌套的 map ,并且其结构可能会有所不同。而且类型会很长而且不可读。

最佳答案

dart假定内部数组的类型为List<String>。因此,您应该指定类型为动态:

Map<String, List<dynamic>> map1 = {'a': ['x']};

要么
Map map1 = {'a': <dynamic>['x']};

关于flutter - 如何在Dart中将不同类型的项目添加到动态 map 中的列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61165666/

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