flutter - 如何解决“参数类型'字符串?' 不能分配给参数类型'String'” - Flutter
问题描述
在此处输入图像描述遇到“参数类型'字符串?' 不能在以下代码中分配给参数类型“字符串”
静态提取文本(VisionText visionText){字符串文本='';
for (TextBlock block in visionText.blocks) {
for (TextLine line in block.lines) {
for (TextElement word in line.elements) {
text = text + word.text + ' ';
}
text = text + '\n';
}
}
return text;
}
解决方案
“参数类型'字符串?' 不能分配给参数类型'String'"
当需要非空String
值但String?
提供了可空值时会发生此错误。
在这种情况下,如果 yourtext
是非 nullString
并且 yourword.text
是 nullable String?
,则可以这样做:
text += (word?.text ?? '') + ' ';
这里,?.
运算符用于检查是否word
不为空,然后获取text
值。??
is in caseword?.text
为null,则取一个空字符串作为值。因此,该值始终为非空值。
您可以在此处阅读有关文档的更多信息。
推荐阅读
- asp.net-web-api - 从 Angular 8 传递的 Http 标头未出现在 ASP.NET Core API 3.1 的 HttpContext 中
- python-3.x - 使用 matlab.engine 运行 python 脚本,无需安装 MATLAB
- react-native - 如何获取 json 并在 flatlist 中显示 img(React Native)
- ios - typeMismatch(Swift.DecodingError.Context(codingPath: [], debugDescription: "期望解码字典
但找到了一个数组。”)) - sql - 从两个表中创建表,它们之间没有链接
- matlab - 具有 Matlab fitcsvm 的一类和一个特征的 SVM 给出了过度拟合的结果
- jquery - jquery_jeditable:控制来自先例输入的最大数量
- javascript - 在 Vue 应用程序中,Key Up 事件在输入元素上触发。为什么?
- php - Laravel - 无法打开流:没有这样的文件或目录存储/框架/会话
- json - 颤振 - 错误:“Articles”类型的值不能分配给“int”类型的变量