首页 > 解决方案 > 如何解决“参数类型'字符串?' 不能分配给参数类型'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;

}

标签: flutterdart

解决方案


“参数类型'字符串?' 不能分配给参数类型'String'"

当需要非空String值但String?提供了可空值时会发生此错误。

在这种情况下,如果 yourtext是非 nullString并且 yourword.text是 nullable String?,则可以这样做:

text += (word?.text ?? '') + ' ';

这里,?.运算符用于检查是否word不为空,然后获取text值。??is in caseword?.text为null,则取一个空字符串作为值。因此,该值始终为非空值。

您可以在此处阅读有关文档的更多信息。


推荐阅读