首页 > 解决方案 > 对零安全性感到困惑

问题描述

我创建了一个类,我收到此错误操作数不能为空,因此条件始终为假。我是颤振和零安全的新手。我怎样才能解决这个问题

    class DatabaseHelper{

    static late  DatabaseHelper _databaseHelper;
    factory DatabaseHelper{
    if(_databaseHelper==null){
      _databaseHelper=DatabaseHelper.internal();
      return _databaseHelper;
    }else{
      return _databaseHelper;

    }
    }
    DatabaseHelper.internal();
     }

标签: flutter

解决方案


您已声明使用late static late DatabaseHelper _databaseHelper;

意味着它永远不会null在读取时间之前获得价值。这只是一个可以忽略的警告。

但是,如果您希望检查值是否null为空,或者有时可以为空,请像 static DatabaseHelper? _databaseHelper;

!当你返回它时,在某些情况下你需要使用 bang 运算符,比如 return _databaseHelper!;

更多细节


推荐阅读