我有2个不同类型的不同地图,这两个地图都是BaseClass.
我希望能够使用相同的逻辑将两个案例中的项目"保存"到地图中,使用Generics.
假设getId是一种方法BaseClass.
我需要强迫
item是的子类BaseClassmap值与该类型相同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);
}
Run Code Online (Sandbox Code Playgroud)
这部分
<T><?extends BaseClass>
Run Code Online (Sandbox Code Playgroud)
需要是
<T extends BaseClass>
Run Code Online (Sandbox Code Playgroud)