类型为“ T?”的值不能分配给类型'T'

时间:2019-12-11 22:53:20

标签: dart

我正在尝试分配一个int值,但是,出现此错误:

A value of type 'int?' can't be assigned to a variable of type 'int'

导致此编译时错误的行如下:

int number = someFunction();

1 个答案:

答案 0 :(得分:0)

这里的问题是从someFunction返回的值是可空的,并试图将该值分配给 -可空的变量是编译时错误(在Dart 2.7中引入了空安全性)。

您需要使用!= null条件检查是否为空

示例

void exampleFunction<T>(T? input) {
  T result = input; // <- ERROR here

  print(result);
}

在此示例中,input可空的,因此无法分配给 不可-可空变量{{1} }。

解决方案

给定的示例问题可以这样解决:

result