Kotlin:收藏定义的差异
在这之间Kotlin有什么不同之处:
val customerProducts = mutableMapOf<Customer, Set<Product>>()
和这个:
val customerProducts: MutableMap<Customer, Set<Product>> = mutableMapOf()
你的第二个例子不会编译,但我会假设你的意思是这样的:
val customerProducts: MutableMap<Customer, Set<Product>> = mutableMapOf()
要回答这个问题,没有什么区别。 您必须提供您正在创建的Map
的类型参数,然后将在另一个位置推断。 这取决于你想使用哪一个。
- 如果你在赋值左侧提供了这个信息,并且有一个明确的变量类型,那么它将被
mutableMapOf
函数推断出来。 - 如果您将其提供给
mutableMapOf
函数的右侧,则将推断该变量的类型。