2017-06-10 139 views
1

的定義是什麼之間的差異科特林:科特林:差異收集

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

這:

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

第二條語句不會編譯。 –

回答

3

你的第二個例子不能編譯,但我會假設你的意思這個:

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

要回答這個問題,沒有區別。您必須提供您正在創建的Map的類型參數,然後將在其他位置推斷。這取決於你想使用哪一個。

  • 如果您在作業的左側以明確的變量類型提供此信息,將由mutableMapOf函數推斷。
  • 如果您在mutableMapOf函數的右側提供它,則將推斷變量的類型。
+0

謝謝你的評論,我修正了第二個例子。 –