【发布时间】:2016-08-27 19:48:37
【问题描述】:
在 Dart 中这两个实例化是等价的吗?
//version 1
Map<String, List<Component>> map = new Map<String, List<Component>>();
//version 2
Map<String, List<Component>> map = new Map(); //type checker doesn't complain
使用版本 2 是否有任何问题(我更喜欢它,因为它不那么冗长)?
请注意,我知道我可以使用:
var map = new Map<String, List<Component>>();
但这不是我想面对这个问题的重点。谢谢。
【问题讨论】:
-
如果你不启用强模式,Dart 分析器对类型并不是特别挑剔。在生产模式下运行时,类型注释将被完全忽略。
-
我启用了“强模式”,但无论如何我都没有在“new Map()”上收到任何错误或警告。那没有回答我的问题。如果有人想知道如何启用“强模式”,这里有一个有用的链接:pub.dartlang.org/packages/analyzer
标签: generics dart instantiation type-inference