Kotlin:Collection的定义不同

时间:2017-06-10 08:51:51

标签: dictionary collections kotlin

Kotlin之间的区别是什么:

val customerProducts = mutableMapOf<Customer, Set<Product>>()

和此:

val customerProducts: MutableMap<Customer, Set<Product>> = mutableMapOf()

1 个答案:

答案 0 :(得分:3)

你的第二个例子不会编译,但我会假设你的意思是:

val customerProducts: MutableMap<Customer, Set<Product>> = mutableMapOf()

要回答这个问题,没有区别。您必须提供您在某处创建的Map的类型参数,然后在其他位置推断它。它取决于你想要使用哪一个。

  • 如果您在作业的左侧提供此信息,并使用显式变量类型,则mutableMapOf函数会推断出该信息。
  • 如果您在mutableMapOf函数的右侧提供它,那么将推断出变量的类型。