dart 方法'+'不能无条件调用,因为接收器可以是'null' Flutter [重复]

yuvru6vn  于 2024-01-03  发布在  Flutter
关注(0)|答案(3)|浏览(153)

此问题在此处已有答案

Null check doesn't cause type promotion in Dart(2个答案)
昨天就关门了。
为什么尽管我添加了空值检查,我还是收到这个错误消息?

  1. if (params.page != null) {
  2. ++params.page;
  3. }

字符串

错误

  1. The method '+' can't be unconditionally invoked because the receiver can be 'null'.
  2. Try making the call conditional (using '?.') or adding a null check to the target ('!')

5lhxktic

5lhxktic1#

您可能正在尝试提升一个非私有字段。根据Dart 3.2,只有当字段为私有字段时,字段的类型提升才有效。
请参阅:只能提升私有字段

g9icjywg

g9icjywg2#

试试这个

  1. if (params.page != null) {
  2. params.page++;
  3. }

字符串

0kjbasz6

0kjbasz63#

当然,我可以帮你:
1:if(params.page!= null){ params.page!++ ; //使用非空Assert
}
或本
2:if(params.page!= null){params.page?.++; //使用非null
Assert}

相关问题