【问题标题】:Unhandled Exception: type 'List<dynamic>' is not a subtype of type 'List<X>未处理的异常:类型 \'List<dynamic>\' 不是类型 \'List<X> 的子类型
【发布时间】:2022-09-26 16:13:14
【问题描述】:

如果字段是相同的类型,我们是否应该能够为字段分配一个值,并将其转换为正确的类型或dynamic

groceryItem.tags 是List&lt;GroceryItmTag&gt;,我在后台为其分配了一个变量List&lt;GroceryItmTag&gt;,即使它没有被识别为那个变量。但是,无论我将其转换为 List&lt;GroceryItmTag&gt; 还是将其转换为 dynamic 并分配它,都会引发此异常。

Unhandled Exception: type \'List<dynamic>\' is not a subtype of type \'List<GroceryItmTag>?\'

如何在不引发异常的情况下分配它?

    标签: flutter dart flutter-freezed


    【解决方案1】:

    如果字段是同一类型,我们是否应该能够为字段分配一个值,并将其转换为正确的类型或动态?

    简单的例子。如果我有一个List&lt;Sheep&gt; 并将其分配给List&lt;dynamic&gt;,那么现在您可以突然通过List&lt;dynamic&gt; 变量将Wolf() 插入我的List&lt;Sheep&gt;。因为Wolf 也是dynamic,所以您可以插入List&lt;dynamic&gt;。这就是为什么它不起作用并且不会起作用的原因。

    您可以将您的List&lt;Sheep&gt; 分配给一个普通的dynamic,并将其转换为必要的。

    【讨论】:

    • 很好的解释答案+1
    • 谢谢。因此,即使它们是完全相同的类型,正如您在图像中看到的那样,我有一个 List&lt;GroceryItmTag&gt; 并且我正在尝试将其分配给 List&lt;GroceryItmTag&gt;,它不能完成吗?
    猜你喜欢
    • 2021-09-16
    • 2021-04-04
    • 1970-01-01
    • 2023-02-26
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多