地图中的扩展类(java)

时间:2012-09-01 10:30:20

标签: java class dictionary extends inventory

我正在尝试在java制作基本库存系统。所有map以及所有扩展 UsableItem类的关键项。例如,Tophat extends UsableItem。问题是我无法在不创建密钥类型myTophat的情况下将Tophat项目/对象保存到其中,因此无法存储其他类型的项目。如何让map存储展开UsableItem的所有内容?

2 个答案:

答案 0 :(得分:3)

你这样声明:

Map<UsableItem, SomeObject> map;

然后,您可以添加UsableItem类型的对象或其子类型的任何键作为键。

答案 1 :(得分:0)

您可以使用java generics“wildcards”

的强大优势
HashMap<? extends UsableItem, Integer>

或者

HashMap<T extends UsableItem, Integer>