2016-09-28 69 views
0

我想使用Dictionary作爲自定義類的成員引用,但我有一些問題需要理解如何使用泛型進行定義。
我有以下的銀行代碼:如何在通用自定義類中使用字典

public class MyDictionary<K,V> { 
    private var dict : Dictionary<K,V> 

    public init() { 
    dict = Dictionary<K,V>() 
    } 
} 

在我的應用程序後來我想與幾個類型的創建詞典:

dict1 = MyDictionary<Int,String>() 
dict2 = MyDictionary<String,MyCustomClass>() 
... 

哪裏是我的錯誤推理?

回答

0

只有可哈希類型可以被存儲爲夫特字典的鍵:

class MyDictionary<Key : Hashable, ValueType> { 
    private var dict : Dictionary<Key,ValueType> 

    internal init() { 
     dict = Dictionary<Key,ValueType>() 
    } 
} 

var dict1 = MyDictionary<Int,String>() 
var dict2 = MyDictionary<String,String>() 
相關問題