我一直在阅读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