下面的代码_invoiceInformation
中的第一个初始化是null
,我正在尝试使用dart
null safe在我的flutter
应用程序中进行管理
在此代码中,尽管我使用了?
操作,但仍然出现错误:
错误:
RangeError (index): Index out of range: no indices are valid: 0
我想尝试什么:
_invoiceInformation = Hive.box<InvoiceInformation>('invoice_information');
_province.text=_invoiceInformation?.getAt(0)?.province??'';
答案 0 :(得分:2)
_province.text=_invoiceInformation?.getAt(0)?.province??'';
如果列表_invoiceInformation
为空,即具有零个元素,则感知空值的运算符?
将允许您访问0处的元素,这会导致错误。
在访问其元素之前,您还必须检查列表是否为空。
if(_invoiceInformation != null && _invoiceInformation.isNotEmpty) {
_province.text=_invoiceInformation.getAt(0)?.province ?? '';
}