我一直在閱讀Effective Java,並決定嘗試將我學到的一些東西付諸行動。我試圖有效地創建一個Multimap<?, Condition<?> >
,其中通配符對於鍵和值都是相同的類型,但它會有所不同,不同的類型。Java通過泛型類型存儲條件
這裏是一本書,我在看項目:Item 29
我並不想完全複製它。我意識到最大的不同是關鍵不直接代表鏈接的價值。在我的,關鍵代表價值的通用類型。
所以我會做mmap.put(Class<Integer>, ConditionMapping<Integer>)
當我做得到我沒有泛型類型的ConditionMapping,所以我得到了未經檢查的轉換警告。
我有我想有簽名<T> List<Condition <T> >(Class<T> type)
由於類型擦除get方法,是我以確保condition.value是T型的,建設對象的新名單唯一的選擇?
我可以忽略未經檢查的投射警告,但我只是不想。有什麼建議麼?提示?竅門?
我不確定我是否收到你。你是說像定義一個IntCondition或一個StringCondition?我在哪裏做IntCondition擴展條件?或者你說make Condition是一個類型還是從創建的實例中獲取類型?或者爲每種類型製作一個單獨的容器? –
Scott
2010-11-16 14:26:52