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

Flutter二维/三维列表存储不同对象后无法访问类属性的问题

解决Dart二维列表无法访问对象属性的问题

问题出在你没给二维列表指定明确的泛型类型,Dart会默认把recipes推断为List<dynamic>,导致recipes[0][0]的类型是dynamic,IDE没法识别它是Ingredient实例,自然调不出类属性。

只需要给变量加上泛型声明List<List<Ingredient>>,就能解决这个问题:

List<List<Ingredient>> recipes = List.generate(
    999,
    (_) => List<Ingredient>.filled(
        9,
        Ingredient(
            name: '', carboidrates: 0, proteins: 0, lipids: 0, fibers: 0),
        growable: true));

这样定义后,recipes[0]会被识别为List<Ingredient>类型,recipes[0][0]就是明确的Ingredient实例,你可以直接通过recipes[0][0].carboidrates访问属性,和一维列表的访问逻辑完全一致。

如果需要三维列表,同理声明泛型为List<List<List<Ingredient>>>即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:40:30