You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中如何修复_Map<dynamic,dynamic>与Map<String,dynamic>不兼容的TypeError?

解决Map类型不兼容的报错问题

问题原因

你定义的_datiMap没有指定具体泛型类型,默认会被推断为Map<dynamic, dynamic>,但调用addAll时传入的是键、值均为字符串的Map<String, dynamic>,两种Map类型不兼容,因此抛出类型转换错误。

修复方案

给_datiMap指定明确的泛型类型即可解决:

// 直接定义为Map<String, dynamic>类型
Map<String, dynamic> _datiMap = box.get("exc") ?? {};

如果box.get("exc")返回的Map类型不确定,可强制转换确保类型一致:

Map<String, dynamic> _datiMap = (box.get("exc") ?? {}) as Map<String, dynamic>;

这样修改后,addAll接收的参数类型与_datiMap的类型完全匹配,就不会再出现类型不兼容的报错了。

内容的提问来源于stack exchange,提问作者Jonathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 21:32:02