Java按通用类型存储条件
我一直在阅读Effective Java,并决定尝试将我学到的一些内容付诸实践。我正在尝试有效地创建一个
Multimap<?, Condition<?> >
,其中通配符对于键和值都是相同的类型,但它将是不同的,不同的类型。
这是我正在看的书中的项目:第29项
我不是想完全复制它。我意识到最大的区别是密钥不能直接表示链接的值。在我的中,键代表值的泛型类型。
所以我会做mmap.put(Class<Integer>, ConditionMapping<Integer>)
当我做get时我没有ConditionMapping的泛型类型,所以我得到了未经检查的强制转换警告。
我有一个get方法,我想要签名<T> List<Condition <T> >(Class<T> type)
由于类型擦除,我唯一的选择是确保condition.value是T类型并构建一个新的对象列表?
我可以忽略未经检查的投射警告,但我只是想尽力而为。有什么建议?提示?窍门?
没有找到相关结果
已邀请:
4 个回复
瞧叮
碧肮械淌设
,它允许你的用户调用一些不依赖于类型安全的方法(例如containsKey),但不能添加条目(绕过你的类型检查代理方法),除非它们使用未经检查的强制转换。
外镶受继
慷祈霖黑