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

Flutter如何实例化无默认构造函数的第三方RecognisedText类并赋值

报错原因解析
  • 调用默认构造函数报错:Dart 中以下划线开头的构造函数属于私有构造,仅能在类定义的源文件内部调用,RecognisedText._(this.text, this.blocks)就是私有构造,外部无法直接调用,因此你尝试直接RecognisedText(mytext,myblocks)创建实例时,会提示类没有可用的默认构造函数。
  • 直接给属性赋值报错:类中的text、blocks属性都被final修饰,这类属性仅能在实例构造阶段完成赋值,实例创建后就变为只读属性,无法再修改值,因此后续给属性赋值的写法不合法。
正确创建实例的方法

这个第三方类对外暴露了公开的工厂构造方法RecognisedText.fromMap,你只需要按照要求构造对应结构的Map传入即可,你自己找到的写法是完全正确的:

RecognisedText myobject = RecognisedText.fromMap({"text": mytext, "blocks": myblocks});

如果运行时出现类型相关错误,只需要检查传入的blocks对应内容是否符合TextBlock.fromMap的入参格式要求即可,工厂方法内部会自动遍历blocks内容生成TextBlock实例,完成RecognisedText实例的构造。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:45:00