2
考慮以下代碼有沒有辦法避免使用特質時重複類型參數?
val map = new HashMap[(String, String), Set[(String, Int, Double, Int)]]
with MultiMap[(String, String), (String, Int, Double, Int)]
是否有使用Multimap之特質不重複的類型參數定義的方法嗎?
考慮以下代碼有沒有辦法避免使用特質時重複類型參數?
val map = new HashMap[(String, String), Set[(String, Int, Double, Int)]]
with MultiMap[(String, String), (String, Int, Double, Int)]
是否有使用Multimap之特質不重複的類型參數定義的方法嗎?
您可以使用類型別名以減少重複
type K = (String, String)
type V = (String, Int, Double, Int)
那麼你的地圖變成
val map = new HashMap[K, Set[V]] with MultiMap[K, V]
然而,作爲一個文體規則,我不覺得這是一個好主意在代碼中使用TupleN性狀有以下幾個原因:
考慮創建一個定製類的開銷少:
case class K(p1: String, p2: String)
它通常是值得的!
我打算建議那個。另一方面,也許作者的問題想知道如何不重複第二個[[K,V]' – pedrofurla
@pedrofurla是的,你是對的,但上面是一個很好的解決方法 –
我有一種我失蹤的感覺東西,謝謝你, –