Dictionary 运行空映射时返回Map.length的值

Dictionary 运行空映射时返回Map.length的值,dictionary,dart,Dictionary,Dart,所以,我写了一些代码,遇到了一个不寻常的问题。我正在使用dart处理颤振,代码有点像这样: class Cart { Map<String, String> _item; void itemCount() { var count =_item.length; print(count); } } void main() { Cart cart =Cart(); cart.itemCount(); } class购物车{ 地图项目; void

所以,我写了一些代码,遇到了一个不寻常的问题。我正在使用dart处理颤振,代码有点像这样:

class Cart {
  Map<String, String> _item;

  void itemCount()
  {
    var count =_item.length;
    print(count);
  }

}

void main()
{
Cart cart =Cart();
  cart.itemCount();
}
class购物车{
地图项目;
void itemCount()
{
变量计数=_item.length;
打印(计数);
}
}
void main()
{
购物车=购物车();
cart.itemCount();
}
我在dartpad中尝试了此代码,但出现了以下错误:

TypeError:C.JSNull_方法。get$length不是函数错误:TypeError:C.JSNull_方法。get$length不是函数


我正在寻找为什么当贴图为空时长度函数不起作用,但如果贴图不是NUll

则可以正常工作,您必须创建一个贴图对象。您只是在声明映射,而不是初始化,这就是您面临此错误的原因

按以下方式更改声明行

Map<String, String> _item = Map();
Map\u item=Map();