繁体   English   中英

地图中的扩展类(java)

[英]Extended classes in a map (java)

我正在尝试在java创建一个基本的库存系统。 这些项都是map所有键,并且都扩展UsableItem类。 例如, Tophat extends UsableItem 问题是我无法将myTophat项目/对象保存到其中而不会使密钥类型为Tophat ,因此无法存储其他类型的项目。 如何使我的map存储扩展UsableItem所有内容?

你这样声明:

Map<UsableItem, SomeObject> map;

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

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

HashMap<? extends UsableItem, Integer>

要么

HashMap<T extends UsableItem, Integer>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM