飞镖类型安全的地图键,不工作?

时间:2013-11-13 08:25:33

标签: dart

使用以下简单的飞镖功能:

void main()
{  
    Map<String, dynamic> m = { 2 : 200.0, 'x' : 8.0 }; 
    print( "m: $m");
}

为什么Dart编辑器/编译器没有抱怨int键类型(2)?我想安全地说我的所有键类型都是String,但这似乎运行正常。

1 个答案:

答案 0 :(得分:0)

这似乎是一个错误。尽管运行时类型为int,但编辑器和VM不会抱怨。

但是,在修复此问题之前,您可以使用解决方法:

void main() {
  Map<String, dynamic> m = {};
  m[2] = 200.0;  // editor complains here. VM in checked mode still works, for some reason.
  m['x'] = 8.0;
}