我正在尝试在java
制作基本库存系统。所有map
以及所有扩展 UsableItem
类的关键项。例如,Tophat extends UsableItem
。问题是我无法在不创建密钥类型myTophat
的情况下将Tophat
项目/对象保存到其中,因此无法存储其他类型的项目。如何让map
存储展开UsableItem
的所有内容?
答案 0 :(得分:3)
你这样声明:
Map<UsableItem, SomeObject> map;
然后,您可以添加UsableItem
类型的对象或其子类型的任何键作为键。
答案 1 :(得分:0)
您可以使用java generics“wildcards”
的强大优势HashMap<? extends UsableItem, Integer>
或者
HashMap<T extends UsableItem, Integer>