我有两个不同类型的不同地图,这两个地图都是BaseClass
的子类。
我希望能够使用相同的逻辑将两个案例中的项目“保存”到地图中,使用Generics。
假设getId
是BaseClass
的方法。
我需要强迫
item
是BaseClass
map
值与item
我该怎么做?这是一次失败的尝试,描述了我需要做的事情:
private <T><?extends BaseClass> void save(T item, Map<Long, T> map)
{
if (item.getId() == null)
{
long max = -1;
for (Long key : map.keySet())
max = Math.max(max, key);
item.setId(max + 1);
}
map.put(item.getId(), item);
}