如何使用单个映射容器放置多种类型的Value对象

时间:2015-03-25 14:25:50

标签: java generics collections

例如。

我有多个课程:库存,产品,销售等。

现在我的要求是将所有上述类型放在一个地图容器中。我不想创建多个地图来放置每个对象值。

2 个答案:

答案 0 :(得分:1)

如果所有类都可以实现相同的接口,那么您可以将它们全部存储在同一个容器中。否则你将不得不使用Object ...

更一般地说 - 你为什么不想使用多张地图?

答案 1 :(得分:1)

将值类型设置为Object

Map</*key goes here*/, Object> myMap = new Map</*key goes here*/, Object>();

或者,如果InventoryProductSales以及进入地图的其他任何内容共享超类或实现相同的接口,则将值类型设置为:< / p>

Map</*key goes here*/, Superclass> myMap = new Map</*key goes here*/, Superclass>();