【发布时间】:2021-04-22 23:00:06
【问题描述】:
我已从 Firebase 读取快照,并试图从作为字符串列表的节点中提取值。
当我这样做时:
List<String> answers = snapshot.value["answers"] as List<String>;
上面我得到一个运行时错误说:
类型
'List<dynamic>'不是类型转换中'List<String>'类型的子类型
但不知何故,下面这两种方法都有效:
List<String> answers = List<String>.from(snapshot.value["answers"])
或者这个:
List<String> answers = snapshot.value["answers"].cast<String>()
第一个和其他两个构造有什么区别,为什么我不能使用as 转换操作将List<dynamic> 转换为List<String>?
【问题讨论】: