如何去掉 Flutter 变量上的可空标记 (?)

How do I get rid of the nullable mark (?) on my variable in Flutter

我正在构建一个具有空安全性的 Flutter 应用程序。当我想为一个不能接受可为空变量的函数提供一个可为空变量时,我遇到了问题。 我试图在调用函数之前检查它是否为空,但它不起作用。

if (accountsFactory.selected != null){
  _accountBloc?.select.add(accountsFactory.selected);
}

在此示例中,accountFactory.selected 是可为空的(帐户?)和 _accountBloc?。select 是 StreamSink

有谁知道我该怎么做?如果可能的话,我想将 保留在我的流中。

我想你需要的是空断言运算符!,你会想做这样的事情:

if (accountsFactory.selected != null){
  _accountBloc?.select.add(accountsFactory.selected!); // assert that selected is not null
}

有关空断言的更多信息here

如果这是您要找的东西?