[英]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.