1

我正在尝试在java. 都是 a的键map并且都扩展UsableItem类的项目。例如,Tophat extends UsableItem。问题是我无法在myTophat不设置 key type 的情况下将项目/对象保存到其中Tophat,因此无法存储其他类型的项目。如何让我map存储扩展的所有内容UsableItem

4

2 回答 2

3

你这样声明它:

Map<UsableItem, SomeObject> map;

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

于 2012-09-01T10:34:51.427 回答
0

您可以使用 java 泛型“通配符”的强大优势

HashMap<? extends UsableItem, Integer>

或者

HashMap<T extends UsableItem, Integer>
于 2012-09-01T10:33:34.037 回答